Тестирование и исправление базы 1С — штатный инструмент Конфигуратора, который чинит разрушенные индексы, восстанавливает ссылочную целостность, пересчитывает регистры и сжимает раздутые таблицы. Им лечат «Ошибку формата потока», битые индексы файловой базы, последствия некорректного завершения работы и медленные отчёты после многолетней эксплуатации.
Что делает тестирование и исправление
Внутри Конфигуратора есть мастер, который выполняет шесть независимых проверок над таблицами информационной базы. Это не «магическая кнопка лечения» — каждая галочка отвечает за конкретный класс проблем. Запускать имеет смысл при подозрении на повреждение, после аварийного отключения питания, перед свёрткой или загрузкой в новую конфигурацию, а также при появлении ошибок чтения метаданных.
Файловая база чинится этим же инструментом плюс утилитой chdbfl.exe. Клиент-серверная — через Конфигуратор, но в монопольном режиме, при остановленных регламентных заданиях.
Когда запускать тестирование и исправление
- после аварийного завершения работы (выключили свет, упал сервер);
- при появлении ошибки «Ошибка формата потока» или «Несоответствие данных»;
- при странной работе отчётов: расхождение итогов с движениями регистров;
- при долгом открытии типовых форм списков;
- перед свёрткой базы или выгрузкой dt;
- после восстановления базы из резервной копии;
- планово раз в 3–6 месяцев для активных файловых баз.
Подготовка: резервная копия обязательна
Перед тестированием и исправлением сделайте полную копию базы. Для файловой — скопируйте файл 1Cv8.1CD в отдельную папку при закрытой 1С. Для серверной — выгрузите dt-файл или сделайте бэкап средствами СУБД (MS SQL Backup, pg_dump для PostgreSQL).
Никого нельзя оставлять в базе во время операции. В клиент-серверном варианте отключите регламентные задания: Администрирование серверов 1С → найти базу → свойства → поставить «Блокировка регламентных заданий включена». Завершите все активные сеансы.
Запуск через Конфигуратор
- Запустите Конфигуратор (не 1С:Предприятие).
- Пройдите по меню: Администрирование → Тестирование и исправление.
- В открывшемся окне выберите проверки и режим.
- Нажмите «Выполнить».
Во время операции окно Конфигуратора заблокировано. Не закрывайте его принудительно — на больших таблицах операция идёт часами.
Что значит каждая галочка
Реиндексация таблиц информационной базы
Перестраивает индексы по всем таблицам. Лечит «Ошибку формата потока» в индексах, ускоряет открытие списков, отчёты по периодам. Безопасная операция, делайте её первой.
Проверка логической целостности
Проверяет внутреннюю структуру таблиц: соответствие записей метаданным конфигурации, корректность ссылок внутри объектов. Находит «битые» документы и справочники.
Проверка ссылочной целостности
Ищет «битые ссылки» — поля, которые ссылаются на несуществующие объекты. В режиме «Исправлять» предложит три варианта действий: создать объект, очистить ссылку или ничего не делать. Аккуратно: автоматическое очищение ссылок может нарушить логику типовой конфигурации.
Пересчёт итогов
Перебирает регистры накопления, бухгалтерии, сведений и пересчитывает таблицы итогов. Лечит расхождения между движениями документов и итогами в отчётах. Долгая операция на больших регистрах (часы для УТ/ERP).
Сжатие таблиц информационной базы
Уменьшает физический размер базы за счёт удаления пустого пространства, оставшегося после удалённых объектов. Для файловой базы делает 1Cv8.1CD ощутимо меньше. Для серверной — операция СУБД, обычно эффективнее запускать средствами MS SQL/PostgreSQL.
Реструктуризация таблиц информационной базы
Перестраивает структуру таблиц по текущим метаданным конфигурации. Используется, если структура базы рассинхронизировалась с конфигурацией (например, после неудачной динамической реструктуризации). Самая тяжёлая операция.
Режим Тестировать или Исправлять
Внизу окна — выбор режима.
- Только тестирование — платформа собирает отчёт о найденных проблемах, ничего не меняет. Безопасный режим для диагностики.
- Тестирование и исправление — найденные проблемы исправляются по выбранному сценарию.
Под исправлением — выпадающий список для ссылочной целостности: «Не изменять», «Создавать объекты» или «Очищать ссылки». На незнакомой базе сначала запустите «Только тестирование» и почитайте отчёт.
«Тестирование и исправление информационной базы завершено. Длительность операции: 00:14:32. Обнаружено и исправлено ошибок: 0.»
Подробности — в служебных сообщениях Конфигуратора.
Сколько времени занимает
Ориентиры для полного набора галочек:
- файловая база 500 МБ (одиночная Бухгалтерия) — 10–30 минут;
- файловая база 2–4 ГБ — 1–3 часа;
- клиент-серверная база 20–50 ГБ (УТ 11, ЗУП) — 4–12 часов;
- ERP 200+ ГБ — от суток, лучше дробить по галочкам.
Пересчёт итогов и реструктуризация — самые медленные. Реиндексация и проверка логической целостности проходят быстрее всех.
Особенности для серверной базы
Для клиент-серверного варианта учтите:
- тестирование запускается из Конфигуратора, подключённого к информационной базе на сервере;
- нужен монопольный режим — никого в базе быть не должно;
- заблокируйте регламентные задания через консоль администрирования сервера;
- для сжатия таблиц эффективнее использовать
DBCC SHRINKFILE(MS SQL) илиVACUUM FULL(PostgreSQL) — встроенный механизм 1С работает поверх; - держите свободное место на диске ≥ размер базы — реструктуризация создаёт временные таблицы.
Что делать при проблемах
Если тестирование падает с ошибкой «Не удалось открыть таблицу» или «Файл базы данных повреждён» — для файловой базы попробуйте сначала утилиту chdbfl.exe:
"C:\Program Files\1cv8\8.3.24.1234\bin\chdbfl.exe"
Утилита откроет интерфейс выбора файла 1Cv8.1CD. После лечения через chdbfl запустите тестирование в Конфигураторе. Для серверной базы аналог — проверка целостности средствами СУБД (DBCC CHECKDB для MS SQL).
FAQ
Можно ли запускать только реиндексацию, без остальных галочек?
Да, проверки независимы. Часто достаточно реиндексации и проверки логической целостности — это снимает 80% типовых проблем и идёт в разы быстрее полного прогона.
Что выбрать в ссылочной целостности — «Создавать» или «Очищать»?
Безопаснее «Не изменять» с предварительным тестированием. После получения списка битых ссылок решение принимается вручную: иногда нужно создать недостающий объект, иногда очистить ссылку. Автоочистка на боевой базе без анализа отчёта — рискованно.
База после тестирования стала меньше — это нормально?
Да, при включённом сжатии таблиц. Освобождается место, занятое удалёнными ранее объектами. Для файловой базы сжатие на 20–40% — обычное дело, если давно не делали.
Можно ли работать в базе во время тестирования?
Нет. Конфигуратор открывает базу в монопольном режиме. Любая попытка подключения вернёт ошибку «База занята».
Тестирование зависло — что делать?
Если индикатор прогресса не меняется час и больше, проверьте загрузку диска и процессора. Может идти долгая операция реструктуризации. Принудительное завершение Конфигуратора в этот момент гарантированно ломает базу — поэтому критична резервная копия. Если процесс точно завис (нагрузка нулевая), снимайте процесс и восстанавливайте из бэкапа.
Чем тестирование отличается от chdbfl.exe?
chdbfl.exe — низкоуровневая утилита для файловой базы, чинит структуру файла 1Cv8.1CD. Конфигуратор работает на уровне метаданных и проверяет логику. На практике сначала прогоняют chdbfl (если файловая база сильно битая), затем тестирование в Конфигураторе.
Нужно ли тестирование для серверной базы регулярно?
Для клиент-серверной 1С достаточно настроенного регламента СУБД (REINDEX, UPDATE STATISTICS, бэкапы). Полное тестирование через Конфигуратор делается только при подозрении на проблемы или раз в полгода-год.