HelpF.pro

Вывод (печать) Запроса в Табличный Документ

Код 1C v 8.х
  // OldthiefXXX
//Процедура формирует и выводит отчет по переданноме запросу
// Параметры :
//* ПараметрыОтчета - структура
// Пример параметров:
//* ПараметрыОтчета = Новый Структура;
//* ПараметрыОтчета .Вставить("Запрос",текст);
//* ПараметрыЗапроса=Новый Структура;
//* ПараметрыЗапроса.Вставить("Номенклатура",ТоварИзАртикула.Ссылка);
//* ПараметрыЗапроса.Вставить("НачалоМесяца",НачалоМесяца(ДатаВедомости));
//* ПараметрыЗапроса.Вставить("КонецМесяца",КонецМесяца(ДатаВедомости));
//* ПараметрыОтчета .Вставить("ПараметрыЗапроса",ПараметрыЗапроса);

Процедура УниверсальныйОтчетПоЗапросу(ПараметрыОтчета)
Запрос=новый Запрос;
Запрос.Текст=ПараметрыОтчета.Запрос;

Для каждого ПАРАМЕТР из ПараметрыОтчета.ПараметрыЗапроса Цикл
Запрос.УстановитьПараметр(ПАРАМЕТР.Ключ,ПАРАМЕТР.Значение);
КонецЦикла;

Тз=Запрос.Выполнить().Выгрузить();

Табл=Новый ТабличныйДокумент;
Макет = ЭтотОбъект.ПолучитьМакет("Макет");
ОбластьШапкаОсновной=Макет.ПолучитьОбласть("Шапка|Основной");
ОбластьСтрокаОсновной=Макет.ПолучитьОбласть("Строка|Основной");
ОбластьИтогОсновной=Макет.ПолучитьОбласть("Итог|Основной");
ОбластьШапкаДОП=Макет.ПолучитьОбласть("Шапка|Показатели");
ОбластьСтрокаДОП=Макет.ПолучитьОбласть("Строка|Показатели");
ОбластьИтогДОП=Макет.ПолучитьОбласть("Итог|Показатели");
Табл.Вывести(ОбластьШапкаОсновной);

Для Каждого Колонка из Тз.Колонки ЦИКЛ
ОбластьШапкаДОП.Параметры.ИмяПоказателя=Колонка.Имя;
Табл.Присоединить(ОбластьШапкаДОП);
КонецЦикла;

счетчик=0;
Для каждого стр из Тз Цикл
счетчик=счетчик+1;
ОбластьСтрокаОсновной.Параметры.счетчик=счетчик;
Табл.Вывести(ОбластьСтрокаОсновной);
Для Каждого Колонка из Тз.Колонки ЦИКЛ
ОбластьСтрокаДОП.Параметры.ЗначениеКолонки=стр[Колонка.Имя];
Табл.Присоединить(ОбластьСтрокаДОП);
КонецЦикла;
КонецЦикла;

Табл.Вывести(ОбластьИтогОсновной);

Для Каждого Колонка из Тз.Колонки ЦИКЛ
ОбластьИтогДОП.Параметры.Итог=Тз.Итог(Колонка.Имя);
Табл.Присоединить(ОбластьИтогДОП);
КонецЦикла;

Табл.ТолькоПросмотр=истина;
Табл.Показать();
КонецПроцедуры

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq8/view/1049.html