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