Предпосылки задачи
Если Контактная информация, Дополнительные реквизиты (свойства) корректно добавлена и настроена, то в динамическом списке есть возможность вывести данные контактной информации (КИ), дополнительных реквизитов в режиме Предприятие.
Задача
Программно добавить колонку контактной информации, дополнительных реквизитов в динамический список, "не напрягать" пользователей.
Реализация
Реализации на БСП 3.1.4.511 демо база. Форма списка справочника "Пользователи". Значения предопределенного вида контактной EmailПользователя, отобразим в динамическом списке.
В обработчике формы списка ПриСозданииНаСервере для КИ добавляем:
ИмяЭлементаДинамическогоСписка = "ПользователиСписок";
ПсевдонимВДинимаичесомСпискеВладельцаКИ = "Ссылка";
Элемент = Элементы.Добавить("новаяКолонкаКИ", Тип("ПолеФормы"), Элементы[ИмяЭлементаДинамическогоСписка]);
ВидКИ = Справочники.ВидыКонтактнойИнформации.EmailПользователя;
НаименованиеКИ = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ВидКИ, "Наименование");
Элемент.Заголовок = НаименованиеКИ;
Элемент.ПутьКДанным = СтрШаблон("%1.%2.[%3]",
ИмяЭлементаДинамическогоСписка,
ПсевдонимВДинимаичесомСпискеВладельцаКИ,
НаименованиеКИ)
Реализации на БСП 3.1.4.511 демо база. Форма списка справочника "Номенклатура". Дополнительный реквизит "Партнер 1", отобразим в динамическом списке.
В обработчике формы списка ПриСозданииНаСервере для дополнительного реквизита добавляем:
ИмяЭлементаДинамическогоСписка = "Список";
ПсевдонимВДинимаичесомСпискеВладельцаКИ = "Ссылка";
ИмяДляРазработчика = "Поставщик_de7c81f53f3b4caa9f5c74aade148e84";
Элемент = Элементы.Вставить(ИмяДляРазработчика, Тип("ПолеФормы"), Элементы[ИмяЭлементаДинамическогоСписка], Элементы.Цена);
ДопРеквизит = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", ИмяДляРазработчика);
Реквизиты = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДопРеквизит, "Представление, Наименование");
Элемент.Заголовок = Реквизиты.Наименование;
Элемент.ПутьКДанным = СтрШаблон("%1.%2.[%3]",
ИмяЭлементаДинамическогоСписка,
ПсевдонимВДинимаичесомСпискеВладельцаКИ,
Реквизиты.Представление);