При работе с конфигурациями 1С, особенно при активном использовании расширений, можно столкнуться с невосстановимой ошибкой, которая блокирует доступ к объектам, добавленным через расширение. Ошибка выглядит так: Ошибка SDBL: В схеме базы данных нет таблицы с именем DataHistorySettingsExt. Она обычно возникает при попытке открыть справочник или документ, созданный в расширении, на платформах версий 8.3.22 и 8.3.23. Давайте вместе разберемся в причинах этой проблемы и рассмотрим наиболее эффективные способы ее решения.
Чтобы понять, как исправить ошибку, сначала проанализируем, что она означает. Название таблицы DataHistorySettingsExt дает нам две важные подсказки:
Таким образом, DataHistorySettingsExt — это служебная таблица, в которой должны храниться настройки истории данных для объектов, добавленных в конфигурацию через расширения. Ошибка «В схеме базы данных нет таблицы» означает, что платформа пытается обратиться к этой таблице (например, чтобы прочитать настройки версионирования для нового справочника), но не может ее найти.
Это является следствием ошибки в самой платформе 1С (в частности, в релизах 8.3.22 и 8.3.23), при которой нарушается структура базы данных с расширениями. В процессе применения расширения и реструктуризации базы данных платформа по какой-то причине не создает эту важную служебную таблицу, что приводит к нарушению логической целостности метаданных расширений и, как следствие, к сбою в работе.
Как показала практика, самым надежным и правильным способом решения данной проблемы является переход на более свежую и стабильную версию платформы, где эта ошибка была исправлена. В частности, начиная с версии 8.3.24, были значительно улучшены механизмы работы с расширениями.
Рассмотрим пошаговый алгоритм действий, который гарантированно поможет исправить ситуацию.
Обновление платформы 1С:Предприятие.
Первым делом необходимо обновить технологическую платформу до актуальной версии, например, 8.3.24.1368 или выше. Именно в этих версиях фирма «1С» внесла исправления, затрагивающие механизмы реструктуризации таблиц расширений.
Запуск «Тестирования и исправления».
После обновления платформы необходимо запустить информационную базу в режиме «Конфигуратор». Далее перейдите в меню «Администрирование» -> «Тестирование и исправление...».
Выбор правильных опций для исправления.
Ключевой момент — это выбор правильных флажков в окне тестирования. На старых версиях платформы стандартное тестирование и исправление не помогало, потому что в нем отсутствовали необходимые опции. На платформе 8.3.24 и выше нужно установить следующие флажки:
Реструктуризация таблиц информационной базыПересоздание автономной конфигурацииОбновление размещения таблиц информационной базыПроверка логической целостности расширений конфигурацииРеструктуризация таблиц расширений конфигурацииОбратите особое внимание на два последних пункта. Именно они запускают новый, улучшенный механизм проверки и перестроения структуры таблиц, относящихся к расширениям. Платформа принудительно проанализирует метаданные всех подключенных расширений, обнаружит отсутствие необходимой таблицы DataHistorySettingsExt и корректно создаст ее в базе данных.
Выполнение проверки.
Нажмите кнопку «Выполнить». Процесс может занять некоторое время в зависимости от объема базы данных. После его завершения ошибка должна исчезнуть.
Если по каким-то причинам немедленное обновление платформы невозможно, можно попробовать другие методы. Однако стоит помнить, что они не всегда дают стопроцентный результат на проблемных версиях платформы.
Иногда можно «подтолкнуть» платформу к пересозданию таблиц, инициировав изменение метаданных расширения. Идея состоит в том, чтобы заставить платформу запустить процесс обновления структуры.
8.3.20.В некоторых случаях такая последовательность действий может запустить корректный механизм реструктуризации и создать недостающую таблицу. Однако, как показывает практика, на версиях 8.3.22 и 8.3.23 этот метод часто не срабатывает.
Классический способ исправления многих проблем, связанных с нарушением физической или логической структуры базы данных. Этот метод полностью пересоздает базу данных на основе ее логического описания.
*.dt.*.dt.Иногда проблема может крыться не в самой базе данных, а в некорректных закэшированных данных на клиентском компьютере или сервере. Очистка кэша — это стандартная процедура, которую стоит выполнять при любых необъяснимых ошибках платформы.
%AppData%\1C\1cv8 и %LocalAppData%\1C\1cv8.Проблема с отсутствием таблицы DataHistorySettingsExt — это подтвержденная ошибка платформы 1С. Хотя существуют обходные пути, наиболее правильным и системным решением является переход на стабильную, свежую версию платформы (8.3.24 и выше) и выполнение полного тестирования и исправления с новыми опциями реструктуризации для расширений.
Если обновление невозможно, временной мерой может быть отказ от создания новых объектов в расширениях до момента перехода на исправленную версию платформы. Однако это лишь отсрочка решения, а не его устранение. Обновление платформы не только исправит данную ошибку, но и повысит общую стабильность и безопасность вашей системы.