Программная передача параметра в отчет. не получается сформировать отчет

1. serverstar 66 15.11.22 10:51 Сейчас в теме
Здравствуйте!
СКД, управляемые формы, отчет для УТ 11.4 Платформа 8.3.18
Такой вопрос: есть отчет на СКД, у него формаОтчета. Нужно в этот отчет программно передать 1 параметр и сразу сформировать отчет.

1. открываю форму и передаю параметр так
ПараметрыФормы = Новый Структура("ПартнерСсылка, СформироватьПриОткрытии", Параметры.Партнер, Истина);
ОткрытьФорму("Отчет.ХарактеристикаКлиента.Форма.ФормаОтчета", ПараметрыФормы);

2. в модуле формы

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Партнер = Параметры.ПартнерСсылка;
СформироватьОтчетНаСервере(Результат, Партнер);
КонецПроцедуры

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

3. в модулеОбъекта отчета
Процедура СформироватьОтчет(ТаблицаОтчета, Партнер) Экспорт


//ПриКомпоновкеРезультата(ТаблицаОтчета, Партнер, СтандартнаяОбработка);
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;

// установка параметра Партнер
ПараметрПартнер = Настройки.ПараметрыДанных.Элементы.Найти("ПартнерСсылка");
ПараметрПартнер.Значение = Партнер;
ПараметрПартнер.Использование = Истина;

КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);

ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);

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

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

Получается, правильный отчет формируется, мелькает на 2 секунды. Потом затирается пустой шапкой.
Что я делаю не так? Спасибо, что дочитали.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. spacecraft 15.11.22 11:07 Сейчас в теме
(1)
Получается, правильный отчет формируется, мелькает на 2 секунды. Потом затирается пустой шапкой.
Что я делаю не так? Спасибо, что дочитали.

Начинаете формировать отчет из обработчика ПриСозданииНаСервере. Отчет сформировался, а дальше отрабатывает стандартная цепочка обработчиков при открытии.
Начинайте формировать отчет после отработки всех обработчиков при открытии.

Хотя, эта задача обычно решается по другому. В КомпановщикНастроек прописывается нужный параметр и запускается стандартное формирование отчета.
serverstar; +1 Ответить
4. spacecraft 15.11.22 11:19 Сейчас в теме
(1) (2) в догонку:
ПараметрыФормы = Новый Структура("ПартнерСсылка, СформироватьПриОткрытии", Параметры.Партнер, Истина);

После программного формирования отчета, еще запускается и стандартный, который и затирает предыдущий результат.
3. SP17081992 5 15.11.22 11:08 Сейчас в теме
Может быть место
Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;


нужна
Настройки = СхемаКомпоновкиДанных.ПолучитьНастройки();
serverstar; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот