Тестирование и исправление базы 1С — пошаговая инструкция

Тестирование и исправление информационной базы 1С через Конфигуратор: какие галочки ставить, чем отличается режим Тестировать от Исправлять и сколько времени займёт.

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

Содержание

Что делает тестирование и исправление

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

Файловая база чинится этим же инструментом плюс утилитой chdbfl.exe. Клиент-серверная — через Конфигуратор, но в монопольном режиме, при остановленных регламентных заданиях.

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

  • после аварийного завершения работы (выключили свет, упал сервер);
  • при появлении ошибки «Ошибка формата потока» или «Несоответствие данных»;
  • при странной работе отчётов: расхождение итогов с движениями регистров;
  • при долгом открытии типовых форм списков;
  • перед свёрткой базы или выгрузкой dt;
  • после восстановления базы из резервной копии;
  • планово раз в 3–6 месяцев для активных файловых баз.

Подготовка: резервная копия обязательна

Перед тестированием и исправлением сделайте полную копию базы. Для файловой — скопируйте файл 1Cv8.1CD в отдельную папку при закрытой 1С. Для серверной — выгрузите dt-файл или сделайте бэкап средствами СУБД (MS SQL Backup, pg_dump для PostgreSQL).

Никого нельзя оставлять в базе во время операции. В клиент-серверном варианте отключите регламентные задания: Администрирование серверов 1С → найти базу → свойства → поставить «Блокировка регламентных заданий включена». Завершите все активные сеансы.

Запуск через Конфигуратор

  1. Запустите Конфигуратор (не 1С:Предприятие).
  2. Пройдите по меню: Администрирование → Тестирование и исправление.
  3. В открывшемся окне выберите проверки и режим.
  4. Нажмите «Выполнить».

Во время операции окно Конфигуратора заблокировано. Не закрывайте его принудительно — на больших таблицах операция идёт часами.

Что значит каждая галочка

Реиндексация таблиц информационной базы

Перестраивает индексы по всем таблицам. Лечит «Ошибку формата потока» в индексах, ускоряет открытие списков, отчёты по периодам. Безопасная операция, делайте её первой.

Проверка логической целостности

Проверяет внутреннюю структуру таблиц: соответствие записей метаданным конфигурации, корректность ссылок внутри объектов. Находит «битые» документы и справочники.

Проверка ссылочной целостности

Ищет «битые ссылки» — поля, которые ссылаются на несуществующие объекты. В режиме «Исправлять» предложит три варианта действий: создать объект, очистить ссылку или ничего не делать. Аккуратно: автоматическое очищение ссылок может нарушить логику типовой конфигурации.

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

Перебирает регистры накопления, бухгалтерии, сведений и пересчитывает таблицы итогов. Лечит расхождения между движениями документов и итогами в отчётах. Долгая операция на больших регистрах (часы для УТ/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, бэкапы). Полное тестирование через Конфигуратор делается только при подозрении на проблемы или раз в полгода-год.

Алексей Герзанов aka Gerzoid
Алекс Гезанов

Работаю в сервисном центре по ремонту и обслуживанию бытовой техники. За более чем 10 лет трудовой деятельности, я сталкивался с решением большого количества проблем в работе ОС Windows, периферийных устройств, бытовой техники, игровых консолей Playstation и т. д.

Добавить комментарий