При переходе на новые релизы конфигурации 1С:Бухгалтерия предприятием 3.0 (включая версию КОРП), начиная с ветки 3.0.168.x и выше, многие технические специалисты сталкиваются с блокирующей ошибкой. Система сообщает, что объект ОбщаяКартинка.Информация32 удаляется из поставки, но на него все еще ссылаются элементы основной конфигурации, такие как ОбщаяФорма.НастройкаОнлайнПоддержки.Форма. Рассмотрим подробнее, почему это происходит и какими методами можно устранить данное препятствие, чтобы успешно завершить обновление.
Для начала выясним причину такого поведения системы. Проблема кроется в обновлении Библиотеки стандартных подсистем (БСП), которая является фундаментом для современных конфигураций 1С. В последних версиях разработчики «1С» проводят масштабную ревизию графических ресурсов. Старые иконки (в частности, Информация32) выводятся из эксплуатации, заменяясь новыми наборами или векторными аналогами.
Ошибка возникает из-за того, что механизм сравнения и объединения при использовании файла обновления (.cfu) не всегда может корректно разорвать жесткие ссылки в формах. Если в вашей текущей конфигурации объект ОбщаяФорма.НастройкаОнлайнПоддержки сохранил ссылку на эту картинку в своих декорациях или кнопках, платформа 1С воспринимает удаление картинки как нарушение целостности метаданных. Ситуация может осложняться использованием определенных версий платформы 8.3.24, где алгоритмы сопоставления объектов работают с известными особенностями.
Проанализируем наиболее надежный метод, который советуют опытные администраторы 1С. Вместо стандартного файла обновления (.cfu) попробуем применить полный файл конфигурации (.cf).
3.0.170.19 или того, на который вы планируете перейти). Его можно взять из дистрибутива полной установки на портале ИТС или сформировать самостоятельно из аналогичной типовой базы..cf.ОбщаяКартинка.Информация32. Однако при использовании полного файла у нас больше контроля над процессом.Важный момент: если ваша база находится на полной поддержке (без возможности изменения), иногда эффективнее использовать режим «Конфигурация» — «Загрузить конфигурацию из файла». Но помните, что этот метод полностью замещает вашу конфигурацию, и его можно использовать только в том случае, если в базе нет пользовательских доработок кода.
Если обновление через .cf по какой-то причине недоступно, разберем алгоритм ручной очистки метаданных. Нам нужно сделать так, чтобы в конфигурации не осталось ни одного упоминания о проблемной картинке до момента запуска обновления.
Общие картинки — Информация32.ОбщаяФорма.НастройкаОнлайнПоддержки.Теперь, когда ссылки разорваны, повторим попытку обновления. Система беспрепятственно удалит объект Информация32, так как он больше никем не используется.
Рассмотрим ситуацию, когда прямой прыжок с версии 3.0.168.25 на 3.0.169.15 вызывает ошибку. Практика показывает, что поэтапное обновление может помочь платформе корректно обработать изменения в БСП. Попробуем найти «переходный» релиз, в котором ссылки в ОбщаяФорма.НастройкаОнлайнПоддержки уже изменены поставщиком, но сама картинка еще не удалена окончательно.
Многие пользователи отмечают, что если обновиться сначала до версии 3.0.168.30 (или аналогичной промежуточной), а затем уже переходить на 169 или 170 ветку, то коллизия метаданных разрешается автоматически. Посмотрим на этот процесс как на цепочку микро-изменений, которые платформе легче «переварить», чем одно глобальное изменение структуры.
Часто программисты забывают, что ссылки на объекты основной конфигурации могут «застревать» в расширениях. Если у вас подключены расширения, проанализируем их влияние:
Если после отключения расширений ошибка исчезла, значит, ОбщаяКартинка.Информация32 была заимствована в одно из расширений. В этом случае нам нужно зайти в конфигуратор расширения, найти там этот объект и удалить его (или обновить ссылку внутри расширения).
Иногда после манипуляций с галочками в окне сравнения может возникнуть ситуация, когда в дереве метаданных появляются два объекта с одинаковым именем: один «с замочком» (от поставщика), а другой — как пользовательский объект. Это критическая ошибка целостности.
Для решения проанализируем дерево объектов: если мы видим Информация32 без значка поддержки рядом с аналогичным объектом на поддержке, необходимо вручную удалить «пользовательский» дубль. Только после достижения единообразия в дереве метаданных можно продолжать обновление базы данных.
Важное резюме: наиболее эффективным и быстрым способом в данной ситуации является обновление через полный CF-файл актуального релиза. Это позволяет платформе принудительно синхронизировать состояние метаданных и избежать ошибок, связанных с постепенным удалением ресурсов в процессе применения цепочки .cfu файлов.