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