Имя: Пароль:
1C
1С v8
не работает отбор в динамическом списке
0 Stim213
 
08.12.11
22:23
На форме 2 ДС - с одной и той же основной таблицей - спр. Номенклатура.
Верхний список - основной, второй - должен выводить комплекты(ТЧ комплекты) текущего элемента верхнего списка.
т.е. выделили в верхнем списке элемент "Мотор", в нижнем отобрались только его комплекты:
"Ротор"
"Статор"
и пр.
Это должно быть реализовано отбором.
вот код:

Процедура СписокПриАктивизацииСтроки(Элемент)
   Оборудование = Элемент.ТекущиеДанные.Ссылка;
   ОбновитьКомплекты(Оборудование);
   
КонецПроцедуры


Процедура ОбновитьКомплекты(Оборудование)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
              |    НоменклатураКомплекты.комплектующая
              |ИЗ
              |    Справочник.Номенклатура.Комплекты КАК НоменклатураКомплекты
              |ГДЕ
              |    НоменклатураКомплекты.Ссылка = &Оборудование";
Запрос.УстановитьПараметр("Оборудование",Оборудование);
СписокКомплектующих= Новый СписокЗначений;
СписокКомплектующих.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("комплектующая"));
                       Для каждого отбор ИЗ Список1.Отбор.Элементы Цикл
                   отбор.Использование = ЛОЖЬ;
               
               КонецЦикла;

ЭлементОтбора = Список1.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;                
ЭлементОтбора.Использование = ИСТИНА
ЭлементОтбора.ПравоеЗначение = СписокКомплектующих;
ЭлементОтбора.Применение = ТипПримененияОтбораКомпоновкиДанных.Иерархия;

   
Несмотря на то, что при после этого кода в отборе только один действующий элемент с заполненным списком - он ничего не выводит    
   
   КонецПРоцедуры
1 Stim213
 
08.12.11
22:27
+ справочник иерарх(элементы)
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.