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