HelpF.pro

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

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

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

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