Ссылочная константа содержит недопустимый ссылочный номер таблицы

На связи Сергей Скирдин, технический директор ИТ-интегратора «Белый код». Сегодня расскажу, как решить одну из проблем, с которой можно столкнуться при обновлении конфигурации 1С.
21 марта 2024

Описание проблемы 

Проблема возникла при попытке обновления конфигурации «1С:Управление нашей фирмой», редакция 3.0.5.211 до 3.0.6.171. Сначала специалисты поддержки пробовали обновить базу обновлятором в автоматическом режиме, в результате получили ошибку без подробностей. Ручное обновление через конфигуратор при сохранении конфигурации выдало ошибку: 

«В процессе обновления информационной базы произошла критическая ошибка по причине: Ссылочная константа содержит недопустимый ссылочный номер таблицы 34332:9c17000c2997f9cd11edb81726667ea2»

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

Расследование по шагам

Шаг 1

Судя по ошибке, похоже, есть какая-то константа, которая ссылается на объект 9c17000c2997f9cd11edb81726667ea2 в таблице 34332. Начнём с поиска объекта.

Берём номер таблицы 34332, идём в обработку просмотра структуры таблиц БД. Получаем структуру и фильтруем по номеру таблицы. Видим, что проблема в расширении (имя таблицы заканчивается на X1), а именно в справочнике Проектов Б24.

Шаг 1

Шаг 2

Идём в конфигуратор, открываем расширение с этим справочником. 

Проверяем типы констант и видим, что ни в одной из них нет ссылки на справочник проектов. Возможно ошибка некорректно сообщает о константе, может проблема где-то в другом месте?

Шаг 3

Попробуем посмотреть, что за проблемный проект и какие на него есть ссылки. Для этого идём в справочник проектов, открываем любой элемент, копируем на него ссылку и меняем в ней параметр ref, на идентификатор объекта из ошибки: 

e1cib/data/Справочник.bpca_ПроектыБитрикс24?ref=9c17000c2997f9cd11edb81726667ea2

Берём полученную ссылку, переходим по ней, открывается искомый элемент.

Шаг 3

Шаг 4

Открываем встроенный в «1С:УНФ» поиск ссылок на объект, указываем наш объект и видим, что никакой константы нет. Есть только ссылки на РС «История по задаче» (он добавлен в том же расширении, что и справочник проектов) и типовой РС УНФ «Неудалённые объекты».

Шаг 4

Скорее всего в рамках одного расширения проблем не должно быть, а вот ссылки в объекте основной конфигурации на объекты расширений могут быть тонким местом. 

Шаг 5

Удаляем запись из РС «Неудалённые объекты» и пробуем сохранить обновлённую конфигурацию.

Ждём…. и снова ошибка, но ссылка уже другая:

В процессе обновления информационной базы произошла критическая ошибка по причине: Ссылочная константа содержит недопустимый ссылочный номер таблицы

30966:9c30000c2997f9cd11eeaed5a57a9f37

Шаг 6

Повторяем поиск объекта (здесь уже другой справочник, но из того же расширения), повторяем поиск ссылок на проблемный объект и снова видим ссылки на РС «Неудалённые объекты».

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

Шаг 7

Поскольку данный РС «Неудалённые объекты» не является критичным для работы, принимаем решение полностью очистить его и не тратить время на написание обработки для поиска проблемных ссылок. Очищаем РС, снова пробуем выполнить реструктуризацию БД.

Ждем…. и вуаля, реструктуризация прошла!

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

Надеюсь, информация будет полезной и поможет решить подобную проблему.

Поделиться в соцсетях:  

Похожие статьи

© 2024 ИТ-интегратор «БЕЛЫЙ КОД»