HelpF.pro

Как в форме выбора сделать отбор по назначению свойства?

Как в стандартной форме выбора свойства номенклатуры сделать отбор по его назначению. В форме выбора добавлено поле "ГруппаНоменклатуры". При выборе группы номенклатуры нужно в табличном поле "ПланВидовХарактеристикСписок" отобразить только свойства у которых в назначении указана эта группа номенклатуры.

Решение:
Код 1C v 8.х
  //Пример от ljuter
Процедура УстановкаОтбораГруппСвойствОбъектов()
//	Удаляем параметры отбора
	ПланВидовХарактеристикСписок.Отбор.Сбросить();
//	Делаем выборку свойств из регистра сведений НазначенияСвойствОбъектов по группе
//	номенклатуры из элемента формы ГруппаНоменклатуры. В результате получаем список
//	наименований свойств (нам нужны именно поле Наименование свойства, а не ссылка
//	на само свойство!
	Список = Новый СписокЗначений();    
	РегСв = РегистрыСведений.НазначенияСвойствОбъектов;
    ОтборСв = Новый Структура("Объект");
	ОтборСв["Объект"] = ГруппаНоменклатуры;
    ВыборкаСв = РегСв.Выбрать(ОтборСв);
	Пока ВыборкаСв.Следующий() Цикл
		Если ВыборкаСв.Свойство.ТипХарактеристики = "G" Тогда
			Список.Добавить(ВыборкаСв.Свойство.Наименование, ВыборкаСв.Свойство.Наименование, Ложь);	
		КонецЕсли;
	КонецЦикла;
//	Устанавливаем вид сравнения для отбора типа "В списке" и выгружаем значения
//	из списка выборки в список отбора.	
	ПланВидовХарактеристикСписок.Отбор.Наименование.ВидСравнения = ВидСравнения.ВСписке;	
	ПланВидовХарактеристикСписок.Отбор.Наименование.Значение.ЗагрузитьЗначения(Список.ВыгрузитьЗначения());
    ПланВидовХарактеристикСписок.Отбор.Наименование.Установить();
КонецПроцедуры   

Обсуждалось в вопросах - Здесь!
Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq8/view/607.html