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