ЗначенияДляВыбора (БСП)

Автор: 1С
ОбщийМодуль.ОтчетыСервер
БСП

Значения для выбора. Параметры выбора

////////////////////////////////////////////////////////////////////////////////
// Параметры выбора

Функция ЗначенияДляВыбора(ПараметрыНастройки, ТипИлиТипы = Неопределено) Экспорт
	ПараметрыПолученияДанныхВыбора = Новый Структура("Отбор, ВыборГруппИЭлементов");
	ЗаполнитьЗначенияСвойств(ПараметрыПолученияДанныхВыбора, ПараметрыНастройки);
	ДополнитьСтруктуруИзПараметровВыбора(ПараметрыПолученияДанныхВыбора, ПараметрыНастройки.ПараметрыВыбора);
	
	ЗначенияДляВыбора = Новый СписокЗначений;
	Если ТипЗнч(ТипИлиТипы) = Тип("Тип") Тогда
		Типы = Новый Массив;
		Типы.Добавить(ТипИлиТипы);
	ИначеЕсли ТипЗнч(ТипИлиТипы) = Тип("Массив") Тогда
		Типы = ТипИлиТипы;
	Иначе
		Типы = ПараметрыНастройки.ОписаниеТипов.Типы();
	КонецЕсли;
	
	Для Каждого Тип Из Типы Цикл
		ОбъектМетаданных = Метаданные.НайтиПоТипу(Тип);
		Если ОбъектМетаданных = Неопределено Тогда
			Продолжить;
		КонецЕсли;
		Менеджер = ОбщегоНазначения.МенеджерОбъектаПоПолномуИмени(ОбъектМетаданных.ПолноеИмя());
		
		СписокВыбора = Менеджер.ПолучитьДанныеВыбора(ПараметрыПолученияДанныхВыбора);
		Для Каждого ЭлементСписка Из СписокВыбора Цикл
			ЗначениеДляВыбора = ЗначенияДляВыбора.Добавить();
			ЗаполнитьЗначенияСвойств(ЗначениеДляВыбора, ЭлементСписка);
			
			// Для перечислений значения возвращаются в виде структуры со свойством Значение.
			ЗначениеПеречисления = Неопределено;
			Если ТипЗнч(ЗначениеДляВыбора.Значение) = Тип("Структура") 
				И ЗначениеДляВыбора.Значение.Свойство("Значение", ЗначениеПеречисления) Тогда
				ЗначениеДляВыбора.Значение = ЗначениеПеречисления;
			КонецЕсли;	
				
		КонецЦикла;
	КонецЦикла;
	Возврат ЗначенияДляВыбора;
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

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

ЗначениеДоступаНачалоВыбора (БСП)

ЗначениеДоступаОбработкаВыбора (БСП)

ПриНачалеВыбораНастройки (БСП)

ИдентификаторыОбъектовМетаданныхФормаСпискаСписокВыборЗначения (БСП)

ЗначениеДоступаНачалоВыбораПродолжение (БСП)

ЗаполнитьНайденныеКонтакты (БСП)

ЗаполнитьСписокВыбораДоступнымиВидамиТранспорта (БСП)

Заполнение "пустых" строк табличной части

ПараметрыВыбора (БСП)

Синтакс-помощник БСП с нейросетевым ассистентом