1) Не формировать автоматически форму отчета, тогда появится возможность добавить кнопку "Сформировать отчет" и ассоциировать с ней код 2) тзаблицаДанныхДДС в нашем примере содержитт внешний источник данных, который используется в СКД
Процедура СформироватьОтчетПоПоступлениюДС() Если тзДанныеДДС = Неопределено Тогда Сообщить("Сперва нужно получить данные!", СтатусСообщения.Важное); Возврат; КонецЕсли; // УстановитьОтборПоОрганизациям(); ТабличныйДокумент = ЭлементыФормы.Результат; //ТиповыеОтчеты.УстановитьПараметр(КомпоновщикНастроек, "Периодичность", Интервал); ВнешниеНаборыДанных = Новый Структура; ВнешниеНаборыДанных.Вставить("ТаблицаДанных", тзДанныеДДС); Настройки = КомпоновщикНастроек.Настройки; ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); // Инициализируем процессор СКД ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки); ТабличныйДокумент.Очистить(); //ТабличныйДокумент.ФиксацияСверху = 10; // Инициализируем процессор вывода ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ТабличныйДокумент); // ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); //ТабДок.ПовторятьПриПечатиСтроки = ТабДок.Область(Верх,1,Низ,Право); ТабличныйДокумент.ПовторятьПриПечатиСтроки = ТабличныйДокумент.Область(1,1,2,11); //ТабличныйДокумент.ФиксацияСверху = 2; КонецПроцедуры
|