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

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

Проверка корректности метаданных 1С: как отключить и что это даёт

Разбираем, что такое проверка корректности метаданных в 1С, как её отключить при тестировании и исправлении, и когда отключать проверку нельзя.

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

Короткий ответ: полностью «отключить» проверку корректности метаданных как отдельную настройку в типовой 1С нельзя — это встроенный этап тестирования и исправления. Но её можно пропустить, сняв соответствующий флаг в списке проверок, либо обойти, запустив другие режимы (реиндексация, проверка ссылочной целостности) без проверки логической целостности. Ниже — конкретные сценарии для файловых и клиент-серверных баз, риски и способы проверить результат.

Что такое проверка корректности метаданных и где она выполняется

Под проверкой корректности метаданных обычно понимают два разных механизма. Первый — этап «Проверка логической целостности информационной базы» в конфигураторе (Администрирование → Тестирование и исправление) и аналогичный пункт в утилите chdbfl.exe для файловых баз. Он сверяет дерево метаданных конфигурации с фактическими таблицами и полями в базе: существует ли таблица для каждого объекта, совпадают ли типы и длины полей, нет ли «осиротевших» таблиц от удалённых объектов.

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

Когда отключение проверки оправдано, а когда опасно

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

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

Как пропустить проверку в конфигураторе

В конфигураторе откройте меню «Администрирование → Тестирование и исправление». В списке проверок снимите флаг «Проверка логической целостности информационной базы» — именно он включает сверку метаданных. Оставьте только те режимы, которые нужны: реиндексацию таблиц, проверку ссылочной целостности, пересчёт итогов. Затем выберите вариант «Тестирование» (без исправления) и нажмите «Выполнить».

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

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

Как отключить проверку в chdbfl для файловой базы

Утилита chdbfl.exe лежит в каталоге bin установленной платформы 1С. Запустите её, укажите путь к файлу 1Cv8.1CD — и увидите список проверок. Флаг «Исправлять обнаруженные ошибки» отвечает за режим исправления, а отдельные виды проверок в старых версиях утилиты представлены пунктом проверки физической целостности. Проверка метаданных здесь — часть общего прохода по таблицам; чтобы её минимизировать, снимайте флаги исправления и запускайте только диагностику, либо используйте конфигуратор с выборочными режимами.

Важный нюанс: chdbfl работает только с монопольным доступом к файлу базы. Если база открыта в 1С или лежит в сетевой папке с активными сеансами, утилита либо не запустится, либо завершится ошибкой. Перед запуском завершите все сеансы и скопируйте файл базы в отдельный каталог.

Клиент-серверный вариант: особенности и ограничения

В клиент-серверной архитектуре (MS SQL, PostgreSQL, Oracle) «Тестирование и исправление» из конфигуратора работает так же, но выполняется дольше и нагружает СУБД. Отключение проверки логической целостности здесь часто мотивировано именно нагрузкой: на больших базах полный прогон может блокировать таблицы и мешать пользователям.

Альтернатива — перенести контроль на уровень СУБД. Для MS SQL это проверки целостности средствами самого сервера (например, DBCC CHECKDB), для PostgreSQL — штатные средства диагностики. Они не сверяют метаданные 1С с таблицами, но подтверждают, что сами данные физически целостны. Комбинация «проверка СУБД + выборочное тестирование в конфигураторе» часто даёт нужный уровень уверенности без многочасового полного прогона.

Сравнение вариантов

Полное тестирование и исправление

Максимальная диагностика, включая метаданные. Подходит после сбоев и перед обновлениями, но долго и требует монопольного доступа

Выборочные режимы без проверки метаданных

Быстро, подходит для регламентных операций (реиндексация, пересчёт итогов). Не обнаружит рассинхронизацию структуры

Проверка средствами СУБД

Контролирует физическую целостность данных без нагрузки на 1С, но ничего не знает о метаданных конфигурации

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

После того как вы пропустили проверку метаданных и выполнили остальные режимы, нужно убедиться, что база работает корректно. Минимальный набор: база открывается в конфигураторе и в пользовательском режиме без ошибок; типовые документы проводятся; ключевые отчёты (ОСВ, карточки счетов) формируются и сходятся с контрольными значениями до обслуживания.

Дополнительно проверьте журнал регистрации на наличие ошибок сразу после обслуживания и в первый рабочий день. Если появляются ошибки вида «поле не найдено», «несоответствие типов» или ошибки SQL при обращении к конкретным объектам — это признак, что проблему с метаданными вы пропустили, и полную проверку придётся выполнить.

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

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

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

Конфигуратор и предприятие открываются без ошибок

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

Ошибки структуры или падение при входе

Проведение документов
Норма

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

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

Ошибки SQL или «поле не найдено»

Отчёты
Норма

Оборотка и регистры сходятся с контрольными данными

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

Расхождения итогов, пустые регистры

Журнал регистрации
Норма

Нет новых ошибок после обслуживания

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

Регулярные ошибки обращения к таблицам

Типичные ошибки и частые вопросы

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

Типичные ошибки
01
Запуск исправления без бэкапа — возможна необратимая потеря данных
02
Пропуск проверки после сбоя обновления — рассинхронизация метаданных всплывёт позже
03
Работа chdbfl при открытых сеансах — ошибки доступа и недостоверный результат
04
Отключение всех проверок ради скорости — регламентное обслуживание превращается в формальность
Можно ли навсегда отключить проверку метаданных в 1С?

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

Что будет, если вообще никогда не проверять метаданные?

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

Чем отличается проверка логической целостности от ссылочной?

Логическая целостность сверяет метаданные конфигурации с физическими таблицами базы. Ссылочная целостность ищет «битые ссылки» — записи, ссылающиеся на удалённые объекты. Это разные проверки, и отключать их стоит независимо друг от друга.

Безопасно ли снимать флаг проверки для ускорения обновления конфигурации?

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

Проверка метаданных выдаёт ошибку, но база работает. Что делать?

Не игнорируйте: снимите копию базы, запустите полное тестирование в режиме «только диагностика» и зафиксируйте, на каком объекте возникает ошибка. Часто это удалённый из конфигурации объект, таблица которого осталась в базе, — такие случаи разбирают индивидуально, иногда через загрузку-выгрузку dt.

Итог

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

Проверку корректности метаданных нельзя отключить настройкой — её пропускают, снимая флаг логической целостности в конфигураторе или chdbfl. Это оправдано для ускорения регламентных работ, но после сбоев и обновлений полную проверку пропускать нельзя. Любые действия с тестированием и исправлением — только после резервной копии.