Имя: Пароль:
1C
1С v8
Настроить отбор элементов справочника по заданной группе
0 dimm7310
 
20.07.12
12:23
УТ11, необходимо в форме списка справочника номенклатуры сделать отбор элементов (услуг) находящихся в заданной группе.
Делаю так:
[code]
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
     Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Родитель");
   Отбор.ПравоеЗначение = Справочники.Номенклатура.НайтиПоКоду("00-00000001");
   Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии;  
   Отбор.Использование = Истина;

КонецПроцедуры

[/code]

В результате в списке отображаются только группы (всего справочника) без вложенных элементов.

Поиском пользовался, но ответа по этой теме так и не нашел.

Что в отборе неправильно?
1 dimm7310
 
20.07.12
12:24
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   Отбор = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
     Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Родитель");
   Отбор.ПравоеЗначение = Справочники.Номенклатура.НайтиПоКоду("00-00000001");
   Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСпискеПоИерархии;  
   Отбор.Использование = Истина;
КонецПроцедуры
2 dimm7310
 
20.07.12
13:11
не могу понять.

пробую наложить отбор но списку - тот же результат


   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |    Номенклатура.Ссылка
   |ИЗ
   |    Справочник.Номенклатура КАК Номенклатура
   |ГДЕ
   |    Номенклатура.Родитель = &ПапкаУслуги";
   Запрос.УстановитьПараметр("ПапкаУслуги",Справочники.Номенклатура.НайтиПоКоду("00-00000001"));
   ТЗ  = Запрос.Выполнить().Выгрузить();
   Сп = Новый СписокЗначений;
   Массив = ТЗ.ВыгрузитьКолонку("Ссылка");
   Сп.ЗагрузитьЗначения(Массив);
   
   Отбор = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
     Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
   Отбор.ПравоеЗначение = Сп;
   Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;  
   Отбор.Использование = Истина;
3 0Mint
 
20.07.12
13:43
Может просто поправить запрос динамического списка Список, без изменений в модуле формы?
4 dimm7310
 
20.07.12
14:46
пробовал вчера , выходит тоже самое. Не знаю что и думать. Ведь практически тоже самое (накладывал отбор по группе) в справочнике ФизЛица - и все нормально.  Видел прошлогоднюю ветку прошлогоднюю, ситуация один в один как у меня и похоже тогда ее так и не решили
5 hhhh
 
20.07.12
14:50
(4) так списка-то нет. Сделайте список
6 dimm7310
 
23.07.12
09:34
(5) Как нет списка? Список - реквизит формы , тип "ДинамическийСписок"
7 dimm7310
 
23.07.12
09:45
(5) если про список было применительно к (2) , то сп - чем не список? Пробовал и Массив  присваивать правому значению - тот же результат
8 hhhh
 
23.07.12
10:06
может

Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;

передвинуть повыше?
9 dimm7310
 
23.07.12
11:02
По ходу дело не в отборе а самой формой списка. Скопировал стандартную форму выбора скрыл лишние элементы, наложил отбор и все заработало.

Но на будущее хотел бы разобраться. Первоначальную форму (в которой не заработал отбор) создал по умолчанию,  запрос для динамического списка оставил как предлагалось системой, в форму списка вывел колонки код, наименование , Родитель, ссылка. Выставил флажок РежимВыбора.

ЧЯДНТ ?
2 + 2 = 3.9999999999999999999999999999999...