Имя: Пароль:
1C
 
Открыть отчет программно с отбором в иерархии
0 Flyd-s
 
29.08.17
16:54
В документе необходимо добавить возможность открыть отчет с фильтром по полям. Для одного из полей необходимо сделать фильтр в иерархии.
Если написать так, то отчет работает, но вид сравнения получается либо равно, либо в списке. Как сделать в иерархии?


ПараметрыФормы = Новый Структура("Отбор, КлючНазначенияИспользования, КлючВарианта, СформироватьПриОткрытии");
    ПараметрыФормы.СформироватьПриОткрытии = Ложь;
    ПараметрыФормы.КлючВарианта = "РасшифровкаStatVentes";    
    ПараметрыФормы.СформироватьПриОткрытии = Истина;
Отбор = Новый Структура;
Отбор.Вставить(...);
ОткрытьФорму("Отчет.ВыручкаИСебестоимостьПродаж.Форма", ПараметрыФормы);
1 Lexey_
 
29.08.17
17:02
(0) вместо отбора использовать ФиксированныеНастройки
2 Rovan
 
гуру
29.08.17
17:04
(0) тФорма=ОткрытьФорму(...
тФОрма..... (включить нужный фильтр)
3 Flyd-s
 
29.08.17
17:18
(2), сначала получить форму, потом заполнить, потом открыть?
4 Flyd-s
 
29.08.17
18:32
(1), Не реагирует
ФиксированныеНастройки = Новый НастройкиКомпоновкиДанных();
ЭлементОтбора = ФиксированныеНастройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ГруппаФинансовогоУчета");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии;
ЭлементОтбора.ПравоеЗначение = ГруппаТоваровВино;
ПараметрыФормы.ФиксированныеНастройки = ФиксированныеНастройки;


(2), и так тоже
тФорма = ОткрытьФорму("Отчет.ВыручкаИСебестоимостьПродаж.Форма", ПараметрыФормы);
КомпоновщикНастроек = тФорма.Отчет.КомпоновщикНастроек;
ФиксированныеНастройки  = КомпоновщикНастроек.ФиксированныеНастройки;
ЭлементОтбора = ФиксированныеНастройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ГруппаФинансовогоУчета");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии;
ЭлементОтбора.ПравоеЗначение = ГруппаТоваровВино;
ЭлементОтбора.ИдентификаторПользовательскойНастройки = "";
    
тФорма.Открыть();
5 Rovan
 
гуру
30.08.17
09:56
(4) ЭлементОтбора.Использование = Истина;
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший