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





Получившейся код модуля:
&НаКлиентеПроцедура dev_ПриОткрытииПосле(Отказ) ОтображениеДополнительныхРеквизитов();КонецПроцедуры&НаСервереПроцедура ОтображениеДополнительныхРеквизитов()// Получаем набор свойств объекта по пустой ссылке объекта метаданных. НаборСвойств = УправлениеСвойствамиСлужебный.ПолучитьНаборыСвойствОбъекта(Справочники.Номенклатура.ПустаяСсылка());// Инициализируем имя набора свойств. ИмяНабора = НаборСвойств[0].Набор.Наименование; Свойства = НаборСвойств[0].Набор.ДополнительныеРеквизиты.Выгрузить().ВыгрузитьКолонку("Свойство");// Наполняем массив именами доп.реквизитов, которые мы хотим отобразить в списке формы. // Можно создать отдельную настроку, например регистр где будем хранить выводимые поля,// для конкретных объектов метаданных или даже в зависимости от роли. МассивОтображаемыхСвойств =Новый Массив; МассивОтображаемыхСвойств.Добавить("Краткое описание");// и т.д.// Если например у нас полные права то выведем все доп.реквизиты.Если РольДоступна("ПолныеПрава")Тогда МассивОтображаемыхСвойств = ПолучитьМассивНаименованийСвойств(Свойства);КонецЕсли;// Квадратные скобки обязательны.// Именно так платформа понимает что мы обращаемся к реквизиту ТЧ "ДополнительныеРеквизиты" ШаблонПутьКДанным ="Список.Ссылка.[%1 (%2)]";// Обход циклом свойств для вывода в список.Длякаждого ТекущееСвойство Из Свойства Цикл НаименованиеСвойства = ТекущееСвойство.Наименование; ИмяЭлемента = ТекущееСвойство.ИдентификаторДляФормул;Если МассивОтображаемыхСвойств.Найти(НаименованиеСвойства)<>НеопределеноТогда СтрокаДанные = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(ШаблонПутьКДанным, НаименованиеСвойства, ИмяНабора); НовыйЭлемент = Элементы.Добавить(ИмяЭлемента, Тип("ПолеФормы"), Элементы.Список); НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.ПутьКДанным = СтрокаДанные; НовыйЭлемент.Заголовок = НаименованиеСвойства;КонецЕсли;КонецЦикла;КонецПроцедуры&НаСервереБезКонтекстаФункция ПолучитьМассивНаименованийСвойств(МассивСвойств) МассивНаименований =Новый Массив;Длякаждого Свойство Из МассивСвойств Цикл МассивНаименований.Добавить(Свойство.Наименование);КонецЦикла;Возврат МассивНаименований;КонецФункции;
Данный код проверялся на конфигурации «Бухгалтерия предприятия 3.0», но он подойдет для любой конфигурации.
Как результат работы нашего кода прикладываем скриншот и тестовое расширение конфигурации:

Как видим все доп. реквизиты появились в нашем списке.
Для подключения расширения использовались такие надстройки:

Оптимизируйте процессы управления проектами в вашей компании с помощью 1C ИТС .