Администрирование · 9 мин
Как сделать тестирование в 1С и исправить ошибки базы
Как выполнить тестирование и исправление базы 1С через конфигуратор и chdbfl.exe: режимы проверки, бэкап, типичные ошибки и ответы на частые вопросы.
Тестирование и исправление — штатный механизм платформы 1С:Предприятие, который проверяет целостность информационной базы и устраняет логические и физические повреждения данных. Его запускают, когда программа выдаёт ошибки формата потока, «вылетает» при открытии документов, показывает битые ссылки или некорректные итоги в отчётах.
Процедура доступна в двух вариантах: через конфигуратор (для файловых и клиент-серверных баз) и через отдельную утилиту chdbfl.exe (только для файловых баз). Выбор зависит от типа базы и характера повреждения. В обоих случаях обязательное условие — наличие свежей резервной копии, потому что исправление изменяет данные необратимо.
Ниже разобран порядок подготовки, запуск каждого инструмента, смысл режимов проверки, типичные ошибки и способы проверить результат после завершения работы.
Когда базе нужно тестирование, а когда оно не поможет
Запускать проверку стоит при появлении конкретных симптомов: ошибка «Ошибка формата потока», сообщения про повреждённую таблицу, внезапные завершения работы при проведении документов, пропавшие записи в журналах, ссылки вида «Объект не найден» в отчётах. Это признаки логической или физической порчи данных.
Тестирование не решает проблемы производительности, не восстанавливает удалённые пользователем документы и не исправляет ошибки в коде конфигурации. Если база медленно работает из-за большого объёма данных или слабого сервера, проверка целостности результата не даст — там нужны другие инструменты.
Сделать копию и запустить тестирование
Режим проверки ссылочной целостности
Анализировать производительность, тестирование не поможет
Для файловой базы — chdbfl.exe
Подготовка: резервная копия и монопольный доступ
Первое действие перед любым исправлением — резервная копия. Для файловой базы достаточно скопировать файл 1Cv8.1CD в отдельный каталог при закрытой программе. Надёжнее сделать выгрузку через «Конфигуратор → Администрирование → Выгрузить информационную базу» в файл .dt — такая копия независима от физической структуры файла.
Второе условие — монопольный режим. Все пользователи должны выйти из базы, фоновые задания — завершиться. В клиент-серверном варианте сеансы завершают через консоль кластера. Если запустить тестирование при активных сеансах, конфигуратор либо откажется работать, либо проверка пройдёт некорректно.
Тестирование через конфигуратор
Откройте базу в конфигураторе и перейдите в меню «Администрирование → Тестирование и исправление». В открывшемся окне выберите проверки и режим. Для первичной диагностики разумно запустить проверку в режиме «Тестирование» без исправления — программа покажет список ошибок, не изменяя данные.
Основные проверки, которые стоит включать:
- Реиндексация таблиц — перестраивает индексы, помогает при ошибках поиска и медленных запросах;
- Проверка логической целостности — базовая проверка согласованности данных;
- Проверка ссылочной целостности — находит битые ссылки на несуществующие объекты;
- Пересчёт итогов — восстанавливает итоги регистров, актуально при неверных остатках;
- Сжатие таблиц — уменьшает размер файловой базы после удаления данных;
- Реструктуризация таблиц — пересоздаёт таблицы, помогает при физических повреждениях отдельных таблиц.
Если диагностика выявила ошибки, повторите запуск в режиме «Тестирование и исправление». Для битых ссылок выберите вариант обработки: «Не изменять» для анализа или «Создавать объекты» / «Очищать ссылки» — в зависимости от того, что нужно получить. Очистка ссылок удаляет упоминания несуществующих объектов, создание объектов восстанавливает заглушки, которые потом нужно заполнить вручную.
- 1Завершить работу всех пользователей и фоновых заданий
- 2Сделать выгрузку базы в файл .dt
- 3Открыть «Администрирование → Тестирование и исправление»
- 4Отметить нужные проверки и запустить режим «Тестирование»
- 5Изучить журнал ошибок, затем запустить «Тестирование и исправление»
- 6Проверить работу базы: открыть проблемные документы и отчёты
Утилита chdbfl.exe для файловых баз
Если файловая база не открывается даже в конфигураторе или конфигуратор падает при тестировании, используется утилита проверки физической целостности chdbfl.exe. Она находится в каталоге установленной платформы, в папке bin (например, внутри каталога конкретной версии платформы).
Порядок работы простой: запустите chdbfl.exe, укажите путь к файлу 1Cv8.1CD, установите флажок «Исправлять обнаруженные ошибки» и нажмите «Выполнить». Утилита работает только с файлом, поэтому база должна быть полностью закрыта у всех пользователей, иначе файл будет заблокирован.
Важно понимать границу применимости: chdbfl.exe проверяет только физическую структуру файла и не исправляет логические ошибки вроде битых ссылок или неверных итогов. После успешной работы утилиты базу всё равно стоит проверить штатным тестированием в конфигураторе.
Проверка результата после исправления
После завершения процедуры не ограничивайтесь сообщением «ошибок не обнаружено». Откройте базу в пользовательском режиме и проверьте те места, где проявлялись сбои: проблемный документ, отчёт, журнал. Сформируйте оборотно-сальдовую ведомость или ключевой отчёт и сравните итоги с данными до сбоя, если есть с чем сравнивать.
Если в ходе исправления создавались объекты-заглушки для битых ссылок, найдите их поиском по пометке «Объект не найден» или через «Все функции → Стандартные → Поиск ссылок на объекты». Такие заглушки нужно либо заполнить корректными данными, либо удалить вместе со ссылками на них.
Как проверить результат
База открывается без ошибок в обоих режимах
Ошибка формата потока сохраняется
Документы открываются и проводятся
Падение или ошибка при открытии
Остатки сходятся с ожидаемыми
Расхождения после пересчёта итогов
Поиск не находит «Объект не найден»
Остались заглушки или пустые ссылки
Типичные ошибки и ограничения
Самая частая ошибка — запуск исправления без копии и с включёнными всеми флажками сразу. Сжатие и реструктуризация на большой базе могут занять часы, и прерывание процесса (отключение питания, разрыв соединения) способно усугубить повреждение. Запускайте процедуру в часы минимальной нагрузки и обеспечьте бесперебойное питание сервера или компьютера.
Вторая ошибка — ожидание, что тестирование вернёт удалённые пользователем данные. Механизм исправляет структуру и согласованность, а не историю действий. Восстановление удалённых документов возможно только из резервной копии.
Профилактика: как снизить риск повреждений
Большинство повреждений файловых баз связано с внешними факторами: обрыв сети при работе по общему сетевому ресурсу, отключение электричества, нехватка места на диске, сбои жёсткого диска. Размещение файловой базы на сетевом диске с нестабильным каналом — один из главных источников проблем; при росте числа пользователей стоит рассмотреть переход на клиент-серверный вариант.
Регулярная регламентная выгрузка в .dt и контроль свободного места на диске снижают цену любого сбоя до минимума. Плановое тестирование без исправления раз в несколько месяцев позволяет поймать проблему раньше, чем она проявится в работе пользователей.
Что важно запомнить
Тестирование и исправление запускается из конфигуратора при монопольном доступе и только после создания резервной копии. Физические повреждения файловой базы лечит chdbfl.exe, логические — режимы проверки в конфигураторе. После исправления обязательно проверьте базу в пользовательском режиме и разберите созданные объекты-заглушки.
Частые вопросы
Можно ли запускать тестирование, пока пользователи работают?
Нет. Тестирование и исправление требует монопольного доступа. При активных сеансах конфигуратор откажет в запуске или проверка пройдёт некорректно. Сначала завершите все сеансы и фоновые задания.
Сколько времени занимает тестирование базы?
Зависит от размера базы, набора проверок и скорости диска. Небольшая файловая база проверяется за минуты, большая база с реструктуризацией и сжатием — за часы. Планируйте процедуру на нерабочее время.
Что выбрать для битых ссылок: очищать или создавать объекты?
Если потерянные объекты не нужны — очищайте ссылки. Если по ссылкам должны быть реальные документы или элементы справочников — создавайте объекты-заглушки и затем заполняйте их вручную. Вариант «Не изменять» подходит только для диагностики.
Тестирование не помогло, ошибка осталась. Что дальше?
Для файловой базы прогоните chdbfl.exe, затем повторите тестирование с реструктуризацией. Если и это не помогло — восстановите базу из последней рабочей выгрузки .dt и перенесите в неё данные за потерянный период.
Нужно ли регулярно делать тестирование «для профилактики»?
Периодическая проверка в режиме «Тестирование» без исправления полезна: она выявляет скрытые проблемы до того, как они проявятся. Запускать исправление без симптомов не требуется — достаточно регулярных резервных копий.