В конфигурациях на обычных формах (таких как 1С:Управление торговлей редакций 10.3 / 2.3) часто встречается ситуация: в карточке номенклатуры отображается привязка к основному изображению, однако при открытии справочника ХранилищеДополнительнойИнформации список оказывается пуст. Разберем причины возникновения такой неполадки и подробно рассмотрим способы очистки реквизита как для одной позиции, так и в пакетном режиме.
Проанализируем основные причины, из-за которых карточка товара ссылается на несуществующую или скрытую запись:
ХранилищеДополнительнойИнформации была физически удалена или очищена при некорректном обмене данными, но ссылка в реквизите номенклатуры ОсновноеИзображение сохранилась.Если требуется исправить отображение для одной конкретной позиции, разберем по шагам простейший вариант ручной очистки:
Номенклатура.Когда ручная очистка в форме заблокирована или нужно обработать несколько позиций без написания программного кода, воспользуемся стандартными сервисными инструментами платформы.
Рассмотрим порядок действий через обработку Групповая обработка справочников и документов или Универсальный подбор и обработка объектов:
Номенклатура.Рассмотрим пример кода для встроенного языка 1С, который позволяет сбросить ссылку на изображение для выбранной номенклатуры программно. Это можно выполнить во внешней обработке или консоли кода:
ОбъектНоменклатуры = СсылкаНаТовар.ПолучитьОбъект();
ОбъектНоменклатуры.ОсновноеИзображение = Справочники.ХранилищеДополнительнойИнформации.ПустаяСсылка();
ОбъектНоменклатуры.Записать();
В приведенном фрагменте мы получаем объект номенклатуры для редактирования, присваиваем реквизиту ОсновноеИзображение значение пустой ссылки типа СправочникСсылка.ХранилищеДополнительнойИнформации и сохраняем изменения методом Записать().
Если проблема вызвана массовым появлением «битых ссылок» после сбоев или обменов, разберем регламентный способ исправления на уровне информационной базы:
После завершения процедуры платформа автоматически найдет все несуществующие ссылки на элементы хранилища и очистит поле ОсновноеИзображение во всех затронутых позициях номенклатуры.