К статье
Практический материал

Администрирование · 9 мин

Как сделать тестирование в 1С и исправить ошибки базы

Как выполнить тестирование и исправление базы 1С через конфигуратор и chdbfl.exe: режимы проверки, бэкап, типичные ошибки и ответы на частые вопросы.

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

Процедура доступна в двух вариантах: через конфигуратор (для файловых и клиент-серверных баз) и через отдельную утилиту chdbfl.exe (только для файловых баз). Выбор зависит от типа базы и характера повреждения. В обоих случаях обязательное условие — наличие свежей резервной копии, потому что исправление изменяет данные необратимо.

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

Когда базе нужно тестирование, а когда оно не поможет

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

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

Ошибка формата потокаВероятно повреждение данных

Сделать копию и запустить тестирование

Объект не найден в отчётахБитые ссылки

Режим проверки ссылочной целостности

Медленная работа без ошибокНе проблема целостности

Анализировать производительность, тестирование не поможет

База не открывается совсемВозможна физическая порча файла

Для файловой базы — chdbfl.exe

Подготовка: резервная копия и монопольный доступ

Первое действие перед любым исправлением — резервная копия. Для файловой базы достаточно скопировать файл 1Cv8.1CD в отдельный каталог при закрытой программе. Надёжнее сделать выгрузку через «Конфигуратор → Администрирование → Выгрузить информационную базу» в файл .dt — такая копия независима от физической структуры файла.

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

Тестирование через конфигуратор

Откройте базу в конфигураторе и перейдите в меню «Администрирование → Тестирование и исправление». В открывшемся окне выберите проверки и режим. Для первичной диагностики разумно запустить проверку в режиме «Тестирование» без исправления — программа покажет список ошибок, не изменяя данные.

Основные проверки, которые стоит включать:

  • Реиндексация таблиц — перестраивает индексы, помогает при ошибках поиска и медленных запросах;
  • Проверка логической целостности — базовая проверка согласованности данных;
  • Проверка ссылочной целостности — находит битые ссылки на несуществующие объекты;
  • Пересчёт итогов — восстанавливает итоги регистров, актуально при неверных остатках;
  • Сжатие таблиц — уменьшает размер файловой базы после удаления данных;
  • Реструктуризация таблиц — пересоздаёт таблицы, помогает при физических повреждениях отдельных таблиц.

Если диагностика выявила ошибки, повторите запуск в режиме «Тестирование и исправление». Для битых ссылок выберите вариант обработки: «Не изменять» для анализа или «Создавать объекты» / «Очищать ссылки» — в зависимости от того, что нужно получить. Очистка ссылок удаляет упоминания несуществующих объектов, создание объектов восстанавливает заглушки, которые потом нужно заполнить вручную.

Порядок действий в конфигураторе
  1. 1
    Завершить работу всех пользователей и фоновых заданий
  2. 2
    Сделать выгрузку базы в файл .dt
  3. 3
    Открыть «Администрирование → Тестирование и исправление»
  4. 4
    Отметить нужные проверки и запустить режим «Тестирование»
  5. 5
    Изучить журнал ошибок, затем запустить «Тестирование и исправление»
  6. 6
    Проверить работу базы: открыть проблемные документы и отчёты

Утилита chdbfl.exe для файловых баз

Если файловая база не открывается даже в конфигураторе или конфигуратор падает при тестировании, используется утилита проверки физической целостности chdbfl.exe. Она находится в каталоге установленной платформы, в папке bin (например, внутри каталога конкретной версии платформы).

Порядок работы простой: запустите chdbfl.exe, укажите путь к файлу 1Cv8.1CD, установите флажок «Исправлять обнаруженные ошибки» и нажмите «Выполнить». Утилита работает только с файлом, поэтому база должна быть полностью закрыта у всех пользователей, иначе файл будет заблокирован.

Важно понимать границу применимости: chdbfl.exe проверяет только физическую структуру файла и не исправляет логические ошибки вроде битых ссылок или неверных итогов. После успешной работы утилиты базу всё равно стоит проверить штатным тестированием в конфигураторе.

Проверка результата после исправления

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

Если в ходе исправления создавались объекты-заглушки для битых ссылок, найдите их поиском по пометке «Объект не найден» или через «Все функции → Стандартные → Поиск ссылок на объекты». Такие заглушки нужно либо заполнить корректными данными, либо удалить вместе со ссылками на них.

Контрольные точки

Как проверить результат

Открытие базы
Норма

База открывается без ошибок в обоих режимах

Тревожный признак

Ошибка формата потока сохраняется

Проблемные документы
Норма

Документы открываются и проводятся

Тревожный признак

Падение или ошибка при открытии

Итоги в отчётах
Норма

Остатки сходятся с ожидаемыми

Тревожный признак

Расхождения после пересчёта итогов

Битые ссылки
Норма

Поиск не находит «Объект не найден»

Тревожный признак

Остались заглушки или пустые ссылки

Типичные ошибки и ограничения

Самая частая ошибка — запуск исправления без копии и с включёнными всеми флажками сразу. Сжатие и реструктуризация на большой базе могут занять часы, и прерывание процесса (отключение питания, разрыв соединения) способно усугубить повреждение. Запускайте процедуру в часы минимальной нагрузки и обеспечьте бесперебойное питание сервера или компьютера.

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

Типичные ошибки
01
Исправление без резервной копии — потерянные записи восстановить нечем
02
Прерывание процесса по питанию или сети — база повреждается сильнее
03
Запуск при активных пользователях — некорректная проверка или отказ
04
Попытка лечить chdbfl.exe клиент-серверную базу — утилита её просто не видит
05
Ожидание возврата удалённых документов — тестирование этого не делает

Профилактика: как снизить риск повреждений

Большинство повреждений файловых баз связано с внешними факторами: обрыв сети при работе по общему сетевому ресурсу, отключение электричества, нехватка места на диске, сбои жёсткого диска. Размещение файловой базы на сетевом диске с нестабильным каналом — один из главных источников проблем; при росте числа пользователей стоит рассмотреть переход на клиент-серверный вариант.

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

Итог

Что важно запомнить

Тестирование и исправление запускается из конфигуратора при монопольном доступе и только после создания резервной копии. Физические повреждения файловой базы лечит chdbfl.exe, логические — режимы проверки в конфигураторе. После исправления обязательно проверьте базу в пользовательском режиме и разберите созданные объекты-заглушки.

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

Можно ли запускать тестирование, пока пользователи работают?

Нет. Тестирование и исправление требует монопольного доступа. При активных сеансах конфигуратор откажет в запуске или проверка пройдёт некорректно. Сначала завершите все сеансы и фоновые задания.

Сколько времени занимает тестирование базы?

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

Что выбрать для битых ссылок: очищать или создавать объекты?

Если потерянные объекты не нужны — очищайте ссылки. Если по ссылкам должны быть реальные документы или элементы справочников — создавайте объекты-заглушки и затем заполняйте их вручную. Вариант «Не изменять» подходит только для диагностики.

Тестирование не помогло, ошибка осталась. Что дальше?

Для файловой базы прогоните chdbfl.exe, затем повторите тестирование с реструктуризацией. Если и это не помогло — восстановите базу из последней рабочей выгрузки .dt и перенесите в неё данные за потерянный период.

Нужно ли регулярно делать тестирование «для профилактики»?

Периодическая проверка в режиме «Тестирование» без исправления полезна: она выявляет скрытые проблемы до того, как они проявятся. Запускать исправление без симптомов не требуется — достаточно регулярных резервных копий.