diff --git a/ModuleDFI.bsl b/ModuleDFI.bsl index c3a5933..d104830 100644 --- a/ModuleDFI.bsl +++ b/ModuleDFI.bsl @@ -322,6 +322,34 @@ Возврат НовыйЭлемент; КонецФункции +// Заполнение структуры КолонокОбъекта для последующей передачи в методы СздДинамическийСписок, СздТаблицаФормы. +// Используется если необходимо вывести все колонки на форму. +// Пример: ПолучитьСтруктуруКолонокОбъекта("Справочники","Контрагенты"); +// +// Параметры: +// ТипОбъекта - Строка - Строковое представление типа объекта (РегистрыСведений, Справочники, Документы и.т.п) +// ИмяОбъекта - Строка - Имя объекта (Контрагенты, Организации) +// +Функция ПолучитьСтруктуруКолонокОбъекта(ТипОбъекта,ИмяОбъекта) Экспорт + ОбъектМетаданных= Метаданные.РегистрыСведений[ИмяОбъекта]; + СтруктураКолонок=Новый Структура; + + СтруктураСвойствОбъекта = Новый Структура("Измерения,СтандартныеРеквизиты,Реквизиты,Графы,Ресурсы,ПризнакиУчета,ПризнакиУчетаСубконто"); + ЗаполнитьЗначенияСвойств(СтруктураСвойствОбъекта,ОбъектМетаданных); + + Для Каждого ТекСвойство из СтруктураСвойствОбъекта цикл + Если ТекСвойство.Значение=Неопределено тогда + Продолжить; + КонецЕсли; + + Для каждого ТекПоле из ТекСвойство.Значение цикл + СтруктураКолонок.Вставить(ТекПоле.Имя,ТекПоле.Синоним); + КонецЦикла; + КонецЦикла; + + Возврат СтруктураКолонок; +КонецФункции + Процедура СоздатьКолонкиДляТаблицыФормы(Форма,ТаблицаФормы,СтруктураКолонок,ЭтоДС = ЛОЖЬ) ИмяСписка = ТаблицаФормы.Имя;