Вывести все доступные поля СКД

SeiOkami 354 5 6 8

Выводит в коллекцию выбранных полей СКД все доступные поля

Источник: https://t.me/JuniorOneS

// Выводит в коллекцию выбранных полей СКД все доступные поля.
// Метод иерархический, для вызова достаточно передать коллекцию выбранных полей, которые нужно заполнить.
// Автор: https://t.me/JuniorOneS
//
// Параметры:
//
//  ВыбранныеПоляКомпоновки  - ВыбранныеПоляКомпоновкиДанных  - 
//						Выбранные поля компоновки, которые необходимо заполнить
//
//  КоллекцияДоступныхПолей  - Неопределено,ДоступныеПоляКомпоновкиДанных - 
//						Параметр для иерархических вызовов процедуры из себя самой же. 
//						При использовании передавать не нужно.
Процедура ВывестиВсеДоступныеПоляВыбора(ВыбранныеПоляКомпоновки, Знач КоллекцияДоступныхПолей = Неопределено) Экспорт
	
	Если КоллекцияДоступныхПолей = Неопределено Тогда
		КоллекцияДоступныхПолей = ВыбранныеПоляКомпоновки.ДоступныеПоляВыбора;
	КонецЕсли;
	
	Если ТипЗнч(ВыбранныеПоляКомпоновки) = Тип("ВыбранныеПоляКомпоновкиДанных") Тогда
		КоллекцияВыбранныхПолей = ВыбранныеПоляКомпоновки.Элементы;
	Иначе
		КоллекцияВыбранныхПолей = ВыбранныеПоляКомпоновки;
	КонецЕсли;
	
	ТекущийРодитель = Новый Структура("Родитель");
	ЗаполнитьЗначенияСвойств(ТекущийРодитель, КоллекцияДоступныхПолей);
	ТекущийРодитель = ТекущийРодитель.Родитель;
	
	Для Каждого ДоступноеПолеВыбора Из КоллекцияДоступныхПолей.Элементы Цикл
		
		Если ДоступноеПолеВыбора.Папка Тогда
			ВыбранноеПоле = КоллекцияВыбранныхПолей.Добавить(Тип("ГруппаВыбранныхПолейКомпоновкиДанных"));
			ВывестиВсеДоступныеПоляВыбора(ВыбранноеПоле.Элементы, ДоступноеПолеВыбора);
		Иначе
			ВыбранноеПоле = КоллекцияВыбранныхПолей.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
		КонецЕсли;
		
		ЗаполнитьЗначенияСвойств(ВыбранноеПоле, ДоступноеПолеВыбора, "Поле,Заголовок");
		
	КонецЦикла;
	
КонецПроцедуры
{27} Переменной ТекущийРодитель присвоено значение, но оно нигде не используется
FastCode - сервис для программистов 1С

Похожие публикации

ВывестиГиперссылку (БСП)

Вывести список пользователей с пустым паролем

ВывестиКонтекстныеСсылки (БСП)

РаспечататьТабличныеДокументы (БСП)

ДоступныеНастройки (БСП)

Модератору