Имя: Пароль:
1C
1С v8
УФ Программно создать отчет во внешней обработке
0 Wefast
 
02.05.17
13:45
Есть обработка. Есть форма с данными.
По нажатию кнопки формируется внешний файл и таблица значений.

Нужно эту таблицу значений обработать и вывести как полноценный отчет с использованием макета.

Сейчас  так:
В модуле главной формы:

&НаКлиенте
Процедура Кнопка(Команда)

ВыгрузитьНаСервере();
АдресКПостроителю = Постр();
ПараметрыФормы = Новый Структура("ТД", ТабДок);
    ОткрытьФорму("ВнешняяОбработка.ВыгрузкаВПУБ.Форма.Отчет",ПараметрыФормы,ЭтаФорма);

КонецПроцедуры
Процедура ВыгрузитьНаСервере()
//запрос делаю
    Объект.ВремТЗ.Загрузить(РезультатЗапроса);
КонецПроцедуры


Функция Постр()    
    ТЗ= Объект.ВремТЗ.Выгрузить();
    ТЗ.Колонки.Удалить(25);
    ТЗ.Колонки.Удалить(25);
    Построитель=Новый ПостроительОтчета();
    Построитель.ИсточникДанных=Новый ОписаниеИсточникаДанных(ТЗ);
    
        Т = Новый ТабличныйДокумент;
    Построитель.Вывести(Т);
    Область = Т.Область("R1:R3");///"R1C1:R3C29"
    Т.УдалитьОбласть(Область,ТипСмещенияТабличногоДокумента.ПоВертикали);
    
    Возврат ПоместитьВоВременноеХранилище(Т, Новый УникальныйИдентификатор);;
КонецФункции

В форме Отчет

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Параметры.ТД.ФиксацияСверху = 1;
    Объект.ТабДок.Вывести(Параметры.ТД);
    //ТабДок это реквизит Табличный Документ
КонецПроцедуры
1 DrShad
 
02.05.17
14:00
круто
2 Wefast
 
02.05.17
14:19
Так. В модуле объекта создал Фунцию
ФУНКЦИЯ ВывестиПФ () ЭКСПОРТ
    Макет = ПолучитьМакет("ПФ");
    
    ТабДок = Новый ТабличныйДокумент;
    
    ШапкаНачисл = Макет.ПолучитьОбласть("ШапкаНачислено");
        
    ТабДок.Вывести(ШапкаНачисл);
    
    
    Возврат ТабДок;

КонецФункции

В серверную функцию модуля формы написал:
    ТабДок = Новый ТабличныйДокумент;
    Об = РеквизитФормыВЗначение("Объект");
    ТабДок = Об.ВывестиПФ();


Вроде все работает
3 DrShad
 
02.05.17
14:20
продолжайте нас информировать
4 vicof
 
02.05.17
14:21
Может, лучше завести бложек?
5 Wefast
 
02.05.17
14:56
(4) (3) Ну вообще это был вопрос в (0). Но т.к. никто не ответил и я сам нашел решение то проинформировал, но не вас, а тех кого будет волновать такой же вопрос
6 vicof
 
02.05.17
15:09
(5) "Ну вообще это был вопрос в (0)"
Где?
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.