Имя: Пароль:
1C
1С v8
Вывод СКД из внешней обработки
0 ERedko
 
13.10.16
09:21
Добрый день, помогите, пожалуйста, разобраться новичку!
УТ 11.2
Есть внешняя обработка, надо чтобы при нажатии на кнопку отдельным окном выводился отчет. Вижу, что можно в макетах обработки создать СКД. А дальше что? Как мне это показать?
1 aleks_default
 
13.10.16
09:29
Нужно делать по типу как в процедуре ПриКомпоновкеРезультата в отчете на СКД.
2 ERedko
 
13.10.16
09:57
Так. Нашла как вывести в табличный документ:

&НаКлиенте
Процедура ОтчетУдаленные(Команда)
         
    табДок = новый ТабличныйДокумент;
    СерверЗаполнитьТабличныйДокумент(табДок);
    
    табДок.Показать();
    
КонецПроцедуры


&НаСервере
Процедура СерверЗаполнитьТабличныйДокумент(ТабДок)
    
    ОтчетОбъект = РеквизитФормыВЗначение("Объект");
    

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

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

Выводится табличный документ, но там все некрасиво. А надо, чтобы было как в отчете Валовая прибыль предприятия...
3 kittystark
 
13.10.16
10:05
сначала создаешь ОтчетОбъект на основании файла (или через поиск по справочнику внешних отчетов, сохранение двоичных данных, а потом через сохраненный файл)

ОтчетНаСКД = ВнешниеОтчеты.Создать(ИспользуемоеИмяФайла, Ложь);


вторым шагом через ОтчетНаСКД.КомпновщикНастроек задаешь параметры и отборы

далее

формаОтчетаСКД = ОтчетНаСКД.ПолучитьФорму("ФормаОтчета");
формаОтчетаСКД.Открыть();
ОтчетНаСКД.СкомпоноватьРезультат(формаОтчетаСКД.ЭлементыФормы.Результат, формаОтчетаСКД.ДанныеРасшифровки );


как-то так
4 ERedko
 
13.10.16
11:20
(3) То есть, мне надо создать отдельно Внешний отчет и вызывать его из Внешней обработки?
5 kittystark
 
14.10.16
13:01
да