Битая база 1С: от журнала регистрации до тестирования и исправления

· 10 мин

Содержание

Большинство ошибок в базе 1С 8.3 исправляют в Конфигураторе через Администрирование → Тестирование и исправление: реиндексация, проверка логической и ссылочной целостности, пересчёт итогов. Перед запуском обязательно выгрузите базу в файл .dt и закройте все сеансы. Для файловой базы с повреждённым файлом 1Cv8.1CD сначала нужна утилита chdbfl.exe, а для ошибок интерфейса и «странного» поведения формы часто хватает очистки кэша.

Типичная картина: утром бухгалтер открывает базу, а отчёт показывает отрицательный остаток там, где его быть не может, в документе вместо контрагента висит <Объект не найден>, а закрытие месяца падает с ошибкой. Лечить вслепую нельзя. Сначала диагностика — понять, где сломалось: в данных, в конфигурации, в платформе или в файле базы. От этого зависит инструмент.

Диагностика ошибок базы 1С: симптомы и журнал регистрации

Куда смотреть в первую очередь

Разделите проблему по слою. Это экономит часы на неверные действия.

СимптомГде, скорее всего, сбойЧем лечить
<Объект не найден> в реквизитахданные: битые ссылкитестирование ссылочной целостности
Неверные остатки, «минус» в отчётахитоги регистровпересчёт итогов, перепроведение
Файл базы данных поврежденфизический файл 1Cv8.1CDchdbfl.exe, копия базы
Ошибка только у одного пользователякэш, настройки, праваочистка кэша, проверка прав
Ошибка после обновления у всехконфигурация или платформапроверка конфигурации, версия платформы
Ошибка проведения конкретного документаучётные настройки, данные документаанализ текста ошибки, перепроведение

Как читать журнал регистрации

Журнал регистрации — главный источник фактов. Он показывает, кто, когда и что делал, и какие ошибки возникали.

Открыть его можно двумя путями:

  1. В пользовательском режиме БП 3.0, ЗУП 3.1, УТ 11: Администрирование → Обслуживание → Журнал регистрации.
  2. В Конфигураторе: Администрирование → Журнал регистрации.

Что делать в журнале:

  • 🔎 установите отбор по важности «Ошибка» и по интервалу времени, когда проблема появилась;
  • 👤 добавьте отбор по пользователю, если ошибка возникает у одного человека;
  • 📄 откройте событие двойным щелчком: в комментарии будет полный текст ошибки, в поле «Данные» — ссылка на объект;
  • 🗑 ищите события удаления объектов («Данные. Удаление») рядом по времени с появлением битых ссылок.

Скопируйте полный текст ошибки из журнала дословно. Фразы вроде Ошибка при вызове метода контекста или Ошибка СУБД сами по себе мало что говорят — смысл в строках после них.

Если сломан сам журнал

Журнал хранится в папке 1Cv8Log внутри каталога файловой базы (для серверной — в каталоге кластера на сервере 1С). Он может разрастись до гигабайтов и тормозить запуск.

Почистить его можно штатно: Конфигуратор → Администрирование → Настройка журнала регистрации → кнопка «Сократить». Программа предложит сохранить удаляемые события в файл — согласитесь, если журнал может понадобиться для разбора.

Если журнал не открывается совсем, при закрытых сеансах переименуйте папку 1Cv8Log. Платформа создаст новый пустой журнал, а старый останется для анализа.

Тестирование и исправление информационной базы

Подготовка к тестированию

Тестирование и исправление требует монопольного доступа: в базе не должно быть ни одного пользователя, фоновых и регламентных заданий.

Перед любым исправлением выгрузите базу: Конфигуратор → Администрирование → Выгрузить информационную базу. Режим «Тестирование и исправление» меняет данные необратимо: может удалить объекты или очистить ссылки. Без копии откатиться некуда.

Порядок подготовки:

  1. Предупредите пользователей и назначьте окно — обычно вечер или выходной.
  2. Завершите сеансы. В серверной базе — через консоль кластера, в файловой — попросите всех выйти. Принудительное завершение оборвёт несохранённую работу.
  3. Сделайте выгрузку .dt. Для файловой базы дополнительно скопируйте папку с файлом 1Cv8.1CD.
  4. Проверьте свободное место на диске: реструктуризация временно занимает объём, сравнимый с размером базы.

Какие флажки ставить

Окно открывается через Администрирование → Тестирование и исправление. Флажки отвечают за разные операции.

ОперацияЧто делаетКогда нужна
Реиндексация таблицперестраивает индексымедленные отборы, ошибки индексов в файловой базе
Проверка логической целостностиищет нарушения структуры данныхпосле сбоев питания, аварийных закрытий
Проверка ссылочной целостностиищет ссылки на несуществующие объекты<Объект не найден> в документах
Пересчёт итоговпересчитывает итоги регистровневерные остатки и обороты
Сжатие таблицосвобождает место после удаленийфайловая база сильно «распухла»
Реструктуризация таблицпересоздаёт таблицы базытяжёлые случаи, по рекомендации; самая долгая операция

Сначала запустите режим «Тестирование» без исправления. Посмотрите отчёт: сколько ошибок и какого рода. Только потом — «Тестирование и исправление».

Настройки для битых ссылок и потерянных данных

В нижней части окна задаётся реакция на два случая:

  • ссылки на несуществующие объекты — «Создавать объекты», «Очищать ссылки» или «Не изменять»;
  • частичная потеря данных объектов — «Создавать объекты», «Удалять объекты» или «Не изменять».

Для учётной базы безопаснее «Создавать объекты». Программа создаст элементы-заглушки, и ссылки в документах не пропадут. Потом заглушки можно найти и заменить правильными объектами. «Очищать ссылки» и «Удалять объекты» уничтожают информацию: документ останется без контрагента или исчезнет совсем.

Файловая база: утилита chdbfl.exe

Если база не открывается с ошибкой Файл базы данных поврежден, Конфигуратор может даже не запуститься. Тогда используйте chdbfl.exe — она проверяет физическую целостность файла 1Cv8.1CD.

  1. Закройте все сеансы базы.
  2. Запустите утилиту из каталога платформы, например C:\Program Files\1cv8\8.3.xx.xxxx\bin\chdbfl.exe.
  3. Укажите путь к файлу 1Cv8.1CD.
  4. Сначала проверьте без флажка «Исправлять обнаруженные ошибки», затем — с ним, на копии файла.
  5. После утилиты запустите тестирование и исправление в Конфигураторе.

Клиент-серверная база

В клиент-серверном варианте данные лежат в СУБД. Тестирование в Конфигураторе тоже работает, но физическую целостность проверяют средствами самой СУБД. В MS SQL Server это DBCC CHECKDB:

DBCC CHECKDB ('ИмяБазы') WITH NO_INFOMSGS;

Индексы и статистику в серверной базе обслуживает план обслуживания СУБД, а не галка «Реиндексация». Настраивает его администратор сервера.

Диагностика: выберите симптом

Битые ссылки и удалённые элементы: как исправить

Откуда берутся <Объект не найден>

Битая ссылка — реквизит, который указывает на объект, которого больше нет в базе. В форме документа вместо значения видно <Объект не найден> и длинный идентификатор в скобках.

Частые причины:

  • 🗑 непосредственное удаление элемента справочника без контроля ссылок;
  • 🔄 обмен данными, при котором документ пришёл, а связанный справочник — нет;
  • 🧩 загрузка данных внешней обработкой;
  • 💥 сбой при записи или повреждение базы.

Порядок лечения

  1. Найдите в журнале регистрации, кто и когда удалил объект. Иногда проще восстановить его из копии базы и перенести.
  2. Запустите тестирование с проверкой ссылочной целостности и режимом «Создавать объекты».
  3. После исправления в справочниках появятся элементы-заглушки. Найдите их отбором по пустому наименованию или по пометке, которую поставила программа.
  4. Замените заглушки правильными элементами. В БП 3.0, ЗУП 3.1, УТ 11 для этого есть обработка Администрирование → Обслуживание → Поиск и удаление дублей: она переносит ссылки с одного элемента на другой.
  5. Перепроведите документы, в которых были битые ссылки.

Удаление помеченных объектов

Правильный путь удаления в 1С — через пометку. Помеченный элемент удаляется обработкой Администрирование → Обслуживание → Удаление помеченных объектов. Она проверяет ссылки и не даст удалить то, что где-то используется.

Не включайте пользователям право непосредственного удаления. Именно оно чаще всего порождает битые ссылки.

Логические ошибки конфигурации и версия платформы

Проверка конфигурации

Если ошибка возникает у всех пользователей сразу после обновления или доработки, виновата, скорее всего, конфигурация. В Конфигураторе откройте Конфигурация → Проверка конфигурации. Отметьте логическую целостность и поиск некорректных ссылок, запустите.

Отчёт покажет модули с синтаксическими ошибками, ссылки на удалённые объекты метаданных, конфликты имён. Для типовой конфигурации без доработок таких ошибок быть не должно. Если они есть — проблема в доработках или неудачном обновлении.

Расширения

Доработки сейчас часто вынесены в расширения. После обновления типовой конфигурации расширение может перестать применяться. Отключите расширения по одному в Администрирование → Печатные формы, отчёты и обработки → Расширения и проверьте, ушла ли ошибка.

Платформа и кэш

Каждый релиз конфигурации требует платформу с номером не ниже указанного в описании релиза. Если номер платформы меньше, база может не открыться или работать с ошибками. Номер версии виден в окне Справка → О программе.

Ошибки формы, Ошибка формата потока, «пропавшие» команды у одного пользователя часто лечит очистка кэша:

  1. Попросите пользователя закрыть все окна 1С — открытые сеансы оборвутся.
  2. Удалите папки с длинными именами-идентификаторами в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8.
  3. Либо запустите базу с параметром /ClearCache: в списке баз выберите Изменить → Дополнительные параметры запуска.
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"D:\Bases\Buh" /ClearCache

Ошибки при проведении документов и расчёте итогов

Разбор сообщения о непроведении

Текст ошибки при проведении почти всегда подсказывает причину. Частые группы:

  • 📦 нехватка остатков — товара или материала на складе меньше, чем списывается;
  • 📝 не заполнен обязательный реквизит — счёт учёта, статья затрат, подразделение;
  • 🔒 дата документа попадает в закрытый период;
  • ⚙️ не настроена учётная политика или параметры учёта на дату документа.

Для закрытого периода проверьте настройку «Даты запрета изменения» в разделе Администрирование. Снимать запрет должен ответственный бухгалтер: изменение в закрытом периоде меняет уже сданную отчётность.

Пересчёт итогов

Итоги регистров накопления и бухгалтерии хранятся отдельно от движений. При сбое они расходятся, и отчёты показывают неверные остатки при правильных проводках.

Пересчитать итоги можно двумя путями:

  1. Конфигуратор → Тестирование и исправление → флажок «Пересчёт итогов». Нужен монопольный доступ.
  2. Пользовательский режим: Администрирование → Обслуживание → Управление итогами. Работает без выгона пользователей, но на большой базе тормозит работу.

Групповое перепроведение

Если пересчёт итогов не помог, значит, неверны сами движения документов. Тогда перепроводят документы за период. В БП 3.0 обработка «Групповое перепроведение документов » находится в разделе Операции.

Начинайте с месяца, где впервые разошлись остатки. Перепроведение за несколько лет на большой базе может идти много часов — запускайте его в нерабочее время. После перепроведения заново выполните закрытие месяца за затронутые периоды.

Перепроведение меняет движения в прошлых периодах. Если отчётность за них сдана, сверьте результаты до и после — расхождения придётся объяснять.

Профилактика: резервные копии и регламент обслуживания

Большая часть описанного выше не понадобилась бы при нормальном регламенте.

Резервное копирование

  • 💾 файловая база: в типовых конфигурациях есть Администрирование → Обслуживание → Резервное копирование и восстановление — настройте автоматическое копирование по расписанию;
  • 🗄 серверная база: полные и разностные копии средствами СУБД плюс периодическая выгрузка .dt;
  • 📍 храните копии не на том же диске, что и база;
  • 🔁 раз в квартал проверяйте восстановление: развертывайте копию в тестовую базу и открывайте её.

Регламент обслуживания

Регламент обслуживания базы 1С
Выполнено: 0 / 6

Ещё три правила, которые снижают число сбоев:

  1. Файловую базу держите на локальном диске сервера, а не на сетевой папке с нестабильным соединением.
  2. Источник бесперебойного питания для компьютера с базой обязателен: аварийное отключение — частая причина повреждения 1Cv8.1CD.
  3. Когда пользователей больше 10–15 или база перерастает несколько гигабайт, переходите на клиент-серверный вариант.

Частые вопросы

Сколько длится тестирование и исправление?
Зависит от размера базы и выбранных флажков. Файловая база на 2–3 ГБ проходит реиндексацию и проверки за десятки минут, реструктуризация большой базы может идти несколько часов.
Можно ли запустить тестирование, не выгоняя пользователей?
Нет. Тестирование и исправление требует монопольного доступа. Без выгона пользователей можно только пересчитать итоги через «Управление итогами».
Тестирование нашло ошибки, но после исправления они появились снова. Что делать?
Ищите источник: обмен, внешнюю обработку, сбойный диск. Проверьте журнал регистрации за период между тестированиями и диск — средствами операционной системы.
Помогает ли выгрузка и загрузка .dt при повреждении базы?
Часто да: при загрузке база пересоздаётся. Но если выгрузка падает с ошибкой, сначала нужен chdbfl.exe или тестирование и исправление.
Чем «Сжатие таблиц» отличается от реиндексации?
Сжатие освобождает место, оставшееся после удалённых записей, и уменьшает файл базы. Реиндексация перестраивает индексы и ускоряет поиск.