Имя: Пароль:
1C
1С v8
1C УПП. Произвольный отчет.
0 1c123
 
07.09.16
13:33
Здравствуйте!
Есть необходимость по нажатию кнопки на обычной форме открывать произвольный отчет и передавать туда значение для отбора. Может кто сталкивался и подскажет, как это сделать. Делаю, как написано ниже и открывает отчет со сохраненными настройками.

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

    
    Форма = ОтчетОбъект.ПолучитьФорму(,,ПроизвольныйОтчетСсылка);
    
    Форма.Открыть();
1 1c123
 
07.09.16
13:35
точнее так

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

    
    Форма = ОтчетОбъект.ПолучитьФорму(,,ПроизвольныйОтчетСсылка);
    
    Форма.Открыть();