Почему в SQL базе данных 1С появляются таблицы с суффиксом X и как с ними работать?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При администрировании баз данных 1С:Предприятие на SQL Server разработчики нередко сталкиваются с ситуацией, когда стандартные имена таблиц, соответствующие именам метаданных, дополняются суффиксом «X» (например, _AccumRg27103X1). В данной статье мы разберем, почему возникают такие таблицы, как платформа 1С использует их и что необходимо учитывать при анализе структуры базы данных.

Природа возникновения таблиц с суффиксом X

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

Чтобы сохранить целостность основной конфигурации и обеспечить работу расширения, платформа 1С предпринимает следующие действия:

  1. Создает новую физическую таблицу в СУБД, имя которой содержит суффикс X и порядковый номер.
  2. Переносит в эту таблицу структуру исходного объекта, дополненную новыми полями из расширения.
  3. Копирует данные из основной таблицы в новую «X-таблицу».
  4. Переключает операции чтения и записи на эту новую физическую таблицу.

Таким образом, исходная таблица (без суффикса) остается в базе данных, но после успешной миграции данных она перестает быть актуальной для прикладного решения. Все запросы, выполняемые средствами 1С, будут направлены именно к «X-таблице».

Как работать с данными в условиях расширений

Если возникла необходимость проанализировать данные напрямую через SQL Server Management Studio, важно учитывать следующие аспекты:

Жизненный цикл расширенных таблиц

Важно понимать, что происходит с этими таблицами при изменении конфигурации или удалении расширения:

Когда вы удаляете расширение, которое вносило изменения в структуру данных, платформа инициирует обратный процесс — так называемое «схлопывание». Данные переносятся обратно в основную таблицу, а временная «X-таблица» удаляется. Если этот процесс завершился некорректно, в базе данных могут остаться «сиротствующие» таблицы, которые занимают дисковое пространство.

Практические рекомендации по администрированию

Чтобы избежать ошибок при анализе базы данных, придерживайтесь следующего алгоритма:

  1. Проверка метаданных: Всегда проверяйте список активных расширений в режиме «1С:Предприятие» (Конфигуратор -> Расширения). Если расширение подключено и затрагивает структуру данных, поиск данных в SQL нужно начинать с «X-таблиц».
  2. Внимание к индексам: Помните, что структура «X-таблицы» может отличаться от стандартных алгоритмов оптимизации 1С для типовых объектов. При возникновении проблем с производительностью в расширенном регистре, в первую очередь оценивайте именно индексы «X-таблицы».
  3. Синхронизация анализа: Если вы выполняете ручные SQL-запросы, всегда используйте JOIN или выборку из таблицы с суффиксом, так как именно она является «рабочей» для 1С в текущий момент времени.

Использование расширений — это мощный инструмент разработки, но он требует от администратора понимания того, как платформа трансформирует структуру данных на уровне SQL. При возникновении вопросов по блокировкам или поведению данных в СУБД всегда ориентируйтесь на фактические таблицы, участвующие в операциях, а не на названия объектов в Конфигураторе.

← На главную