Имя: Пароль:
1C
1С v8
Отбор - указать ПравоеЗначение
0 Надежда25
 
05.10.11
10:04
Помогите, пожалуйста, с отбором.
Есть отчет на СКД. На форме - ТабличноеПолеОтбор. Надо, чтобы пользователь при задании отбора видел не весь справочник, а только одну папку со всем содержимым (элементы, папки). Пишу так в Процедура СформироватьОтчет()Экспорт:
НовыйЭлементОтбора = ОтчетОбъект.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных ("Номенклатура");
НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ПравоеЗначение = ??? пробовала по-разному;
1 SeraFim
 
05.10.11
10:22
без фотки не взлетит :)

Может быть, ВидСравненияКомпоновкиДанных.ВИерархии
а в Правой части - ссылка на эту папку

Еще вариант:
Новый ПолеКомпоновкиДанных ("Номенклатура.Родитель");
а в Правой части - ссылка на эту папку
2 Voody
 
05.10.11
10:44
(0) Если проверить у объекта принадлежность к группе, то способ сравнения надо не Равно использовать, а в группе, либо Равно, но в правое значение передавать Родителя элемента
3 SeraFim
 
05.10.11
10:49
(2) нету такого вида сравнения "ВГруппе"
4 Надежда25
 
05.10.11
10:56
Если:
НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
НовыйЭлементОтбора.ПравоеЗначение = Справочники.Номенклатура.ВыбратьИерархически("Продукция",,,);
Тогда:
Ошибка при вызове метода контекста (ВыбратьИерархически)
по причине:
Несоответствие типов (параметр номер '1')
5 Voody
 
05.10.11
11:00
(3) Действительно нет, чего то я попутал.
(4) Так надо не номенклатуру с группой сравнивать, а Номенклатура.Родитель с группой
6 Voody
 
05.10.11
11:05
НовыйЭлементОтбора.ПравоеЗначение = Справочники.Номенклатура.ВыбратьИерархически(СсылкаРодитель,,,);
Попробуй передать сюда этот параметр
7 Надежда25
 
05.10.11
11:25
(6) Не так? Не работает:
СсылкаРодитель = Справочники.Номенклатура.НайтиПоНаименованию("Продукция");
НовыйЭлементОтбора.ПравоеЗначение = Справочники.Номенклатура.ВыбратьИерархически(СсылкаРодитель,,,);
8 SeraFim
 
05.10.11
12:22
НовыйЭлементОтбора = ОтчетОбъект.КомпоновщикНастроек.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
НовыйЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных ("Номенклатура");
НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии;
НовыйЭлементОтбора.ПравоеЗначение = Справочники.Номенклатура.НайтиПоНаименованию("Продукция");
9 Надежда25
 
05.10.11
12:57
Спасибо за ответ. Так уже делала. ПравоеЗначение - написано Продукция, а при нажатии на кнопку выбора открывается весь справочник Номенклатура, а нужна только одна папка.
10 Надежда25
 
05.10.11
13:32
Ответа нет... Никому не интересно?
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан