В процессе разработки или обслуживания самописных конфигураций на платформе 1С:Предприятие 8 вы можете столкнуться с ситуацией, когда попытка удалить пустой объект метаданных (справочник) приводит к критической ошибке обновления информационной базы. Чаще всего такая ошибка сопровождается сообщением: Ошибка SDBL: Ссылка на таблицу ReferenceXX недопустима. Нет таблицы или отсутствует RefSelf. Давайте разберемся, почему это происходит и как вернуть конфигурацию в рабочее состояние.
Ошибка SDBL (System Database Language) означает, что существует конфликт между описанием метаданных в конфигураторе и физическим состоянием таблиц в базе данных. Когда вы удаляете справочник, платформа пытается выполнить DROP TABLE или аналогичную операцию удаления структуры. Если в системных таблицах 1С сохранились ссылки на этот объект (например, в подписках на события, планах обмена или из-за повреждения файла базы), процесс обновления прерывается.
Прежде чем приступать к сложным манипуляциям, необходимо исключить наличие логических повреждений самой базы данных:
1Cv8.1CD.chdbfl.exe, которая находится в папке установки платформы (в подпапке bin). Выберите файл вашей базы и установите флаг Исправлять обнаруженные ошибки.Если chdbfl.exe не находит ошибок, но платформа все равно выдает сбой, попробуйте «подтолкнуть» конфигуратор к правильному пересчету структуры таблиц:
Строка). Сохраните конфигурацию. Это заставит платформу выполнить операцию ALTER TABLE для добавления колонки.Воспользуйтесь встроенным функционалом конфигуратора для принудительного приведения метаданных в порядок:
Администрирование -> Тестирование и исправление.SDBL описанию в метаданных.Даже «пустой» справочник может быть «привязан» к системе невидимыми нитями. Проанализируйте следующие места:
Поиск ссылок в метаданных в контекстном меню объекта. Убедитесь, что справочник не используется в коде модулей, планах обмена или настройках ролей пользователей.Если стандартные методы не помогают, можно попробовать принудительно обновить описание метаданных через CF-файл:
Конфигурация -> Сохранить конфигурацию в файл).Конфигурация -> Загрузить конфигурацию из файла (не путать с Объединением), но будьте осторожны: этот метод может привести к потере данных, если вы не сделаете предварительную выгрузку данных в XML через Конвертацию данных.Помните, что регулярное создание резервных копий — ваш главный инструмент безопасности. Если после всех описанных процедур ошибка SDBL сохраняется, это может свидетельствовать о глубоком логическом повреждении файла 1Cv8.1CD, которое не лечится стандартными средствами. В таких критических случаях единственным выходом остается перенос данных в новую чистую базу.