HelpF.pro

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

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

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

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

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

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

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

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

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

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

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

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