|
Вывод СКД из внешней обработки |
☑ |
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
|
да
|
|