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

19.03.24

База данных - Обновление 1С

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

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

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

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

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

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

Шаг 1

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

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

 

 

Шаг 2

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

 

Шаг 3

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

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

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

 


 

Шаг 4 

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

 

 

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

 

Шаг 5

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

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

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

30966:9c30000c2997f9cd11eeaed5a57a9f37

 

Шаг 6

 

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

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

 

Шаг 7

 

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

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

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

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

См. также

Рефакторинг и качество кода Обновление 1С Программист 1С v8.3 Бесплатно (free)

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

02.07.2025    675    1c-izh    2    

8

DevOps и автоматизация разработки Обновление 1С Системный администратор Программист 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление холдингом Абонемент ($m)

Продолжаем делиться опытом ICL SOFT – в этой статье рассказываем о сложном обновлении сильно доработанной конфигурации "1С:ERP Управление холдингом с версии 3.1.8.15" до актуальной версии редакции 3.2. Публикации о сложных обновлениях, которые можно найти в открытых источниках, содержат мало подробной информации об использованных инструментах и решениях. Часто в них отсутствует информация о том, что находится под капотом этих решений. Будем рады, если наша статья окажется полезной

1 стартмани

01.07.2025    709    vladimir_iclsoft    1    

15

Рефакторинг и качество кода Обновление 1С Программист 1С v8.3 Бесплатно (free)

Тестовая база обновлена через все ключевые релизы, всё протестировано, остатки сведены, вы готовы обновить «боевую» базу, но…по замерам для этого потребуется целая неделя, а у вас есть всего пара выходных. Знакомая ситуация? Расскажем, как увеличить скорость отработки промежуточных конфигураций!

18.06.2025    1870    1c-izh    12    

8

Обновление 1С Программист Стажер 1С v8.3 Бесплатно (free)

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

04.06.2025    3086    1c-izh    11    

16

Обновление 1С 1С v8.3 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Абонемент ($m)

Добавление в Справочник "Статьи затрат" отсутствующих предопределённых элементов.

1 стартмани

23.05.2025    393    0    qrw    0    

0

БСП (Библиотека стандартных подсистем) Обновление 1С Программист 1C:ERP Бесплатно (free)

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

29.04.2025    2282    krasnoshchekovpavel    7    

18

Рефакторинг и качество кода Обновление 1С Программист 1С v8.3 Бесплатно (free)

Методика, описанная в статье, выработана при переезде с 1С:ДО 2.1 на 1С:ДО 3.0. Может также применяться при переходе с 1С:УПП на 1C:ERP, 1C:ERP на 1C:ERP УХ и т. п. Учтены все необходимые доработки при переезде на новую конфигурацию и предупреждены возможные ошибки.

21.04.2025    2541    PROSTO-1C    4    

4

Обновление 1С Программист 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1C:ERP Абонемент ($m)

Внешняя обработка для обновления расширений и дополнительных обработок 1С из GitHub. Поддерживает как публичные, так и приватные репозитории, фильтрацию релизов по версии конфигурации, скачивание .cfe, .epf, .erf.

1 стартмани

15.04.2025    1979    7    Aleksandr    0    

21
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. katenok86 246 25.03.24 10:44 Сейчас в теме
Добавлять объекты и реквизиты в расширении это зло. А потом использовать их в основной конфигурации.... Уж проще перевести все реквизиты в основную конфу..
2. sergey.skirdin 64 25.03.24 17:08 Сейчас в теме
(1) Отчасти соглашусь, есть такой паттерн в разработке. Достаточно удобно иметь все объекты в основной конфе, но тут есть как минимум два но:
1) Мы же с заказчиками работаем, и зачастую приходим на поддержку или доработку существующего проекта, где объекты уже созданы в расширениях. В стандартах 1с ничего не сказано о том, что объекты нужно создавать в основной конфигурации, поэтому обосновать бюджет на перенос объектов в конфу сложно.
2) Существует огромное множество тиражируемых расширений, которые поддерживаются сторонними разработчиками и содержат объекты. Например всякие интеграционные расширения, например от Б24.

Раз не получается избежать объектов в расширениях, значит с ними нужно как-то жить. Статья в помощь :-)
3. JohnyDeath 302 26.03.24 14:00 Сейчас в теме
(1) это если вы делаете доработки только в одной конфигурации, а не "универсальное решение"
4. katenok86 246 29.03.24 13:15 Сейчас в теме
(3) если ставить его на типовую, то согласна. А если универсально но для доработанных баз, то лучше сделать сфку с инструкцией
5. Anthon 231 06.03.25 07:52 Сейчас в теме
А где взять обработку Просмотр метаданных? В яндексе не нашел
Оставьте свое сообщение