From 2ecf25c5e307e426ed89f36e14d8c93694ec7911 Mon Sep 17 00:00:00 2001 From: VVi3ard Date: Thu, 15 Dec 2022 02:57:52 +0300 Subject: [PATCH] =?UTF-8?q?+=20=D0=A4=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D1=8F?= =?UTF-8?q?=20"=D0=9F=D0=BE=D0=BB=D1=83=D1=87=D0=B8=D1=82=D1=8C=D0=A1?= =?UTF-8?q?=D1=82=D1=80=D1=83=D0=BA=D1=82=D1=83=D1=80=D1=83=D0=9A=D0=BE?= =?UTF-8?q?=D0=BB=D0=BE=D0=BD=D0=BE=D0=BA=D0=9E=D0=B1=D1=8A=D0=B5=D0=BA?= =?UTF-8?q?=D1=82=D0=B0"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Добавлена функция. Функция ПолучитьСтруктуруКолонокОбъекта(ТипОбъекта,ИмяОбъекта) Экспорт При добавлении динамического списка на форму, через "ОсновнаяТаблица" не всегда удобно готовить структуру со списком колонок кодом, иногда требуется добавить все колонки (как это происходит при добавлении через интерфейс). Функция достаточно универсальна, принимает на вход тип и имя объекта метаданных и возвращает структуру содержащую все поля объекта, включая: Измерения, СтандартныеРеквизиты, Реквизиты, Графы, Ресурсы, ПризнакиУчета, ПризнакиУчетаСубконто --- ModuleDFI.bsl | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/ModuleDFI.bsl b/ModuleDFI.bsl index c3a5933..d104830 100644 --- a/ModuleDFI.bsl +++ b/ModuleDFI.bsl @@ -322,6 +322,34 @@ Возврат НовыйЭлемент; КонецФункции +// Заполнение структуры КолонокОбъекта для последующей передачи в методы СздДинамическийСписок, СздТаблицаФормы. +// Используется если необходимо вывести все колонки на форму. +// Пример: ПолучитьСтруктуруКолонокОбъекта("Справочники","Контрагенты"); +// +// Параметры: +// ТипОбъекта - Строка - Строковое представление типа объекта (РегистрыСведений, Справочники, Документы и.т.п) +// ИмяОбъекта - Строка - Имя объекта (Контрагенты, Организации) +// +Функция ПолучитьСтруктуруКолонокОбъекта(ТипОбъекта,ИмяОбъекта) Экспорт + ОбъектМетаданных= Метаданные.РегистрыСведений[ИмяОбъекта]; + СтруктураКолонок=Новый Структура; + + СтруктураСвойствОбъекта = Новый Структура("Измерения,СтандартныеРеквизиты,Реквизиты,Графы,Ресурсы,ПризнакиУчета,ПризнакиУчетаСубконто"); + ЗаполнитьЗначенияСвойств(СтруктураСвойствОбъекта,ОбъектМетаданных); + + Для Каждого ТекСвойство из СтруктураСвойствОбъекта цикл + Если ТекСвойство.Значение=Неопределено тогда + Продолжить; + КонецЕсли; + + Для каждого ТекПоле из ТекСвойство.Значение цикл + СтруктураКолонок.Вставить(ТекПоле.Имя,ТекПоле.Синоним); + КонецЦикла; + КонецЦикла; + + Возврат СтруктураКолонок; +КонецФункции + Процедура СоздатьКолонкиДляТаблицыФормы(Форма,ТаблицаФормы,СтруктураКолонок,ЭтоДС = ЛОЖЬ) ИмяСписка = ТаблицаФормы.Имя;