gifts2017

Пара полезных процедур для расшифровок.

Опубликовал OldthiefXXX OldthiefXXX (OldthiefXXX) в раздел Программирование - Практика программирования

Процедуры выводят отчет по заданной ТЗ или по Запросу. Может, сэкономит время. ;-)
 

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

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

Запрос=новый Запрос;

Запрос.Текст=ПараметрыОтчета.Запрос;

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

КонецЦикла;

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


Табл=Новый ТабличныйДокумент;

Макет = ЭтотОбъект.ПолучитьМакет("Макет");

ОбластьШапкаОсновной=Макет.ПолучитьОбласть("Шапка|Основной");

ОбластьСтрокаОсновной=Макет.ПолучитьОбласть("Строка|Основной");

ОбластьИтогОсновной=Макет.ПолучитьОбласть("Итог|Основной");


ОбластьШапкаДОП=Макет.ПолучитьОбласть("Шапка|Показатели");

ОбластьСтрокаДОП=Макет.ПолучитьОбласть("Строка|Показатели");

ОбластьИтогДОП=Макет.ПолучитьОбласть("Итог|Показатели");


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

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

Табл.Присоединить(ОбластьШапкаДОП);

КонецЦикла;

счетчик=0;

Для каждого стр из Тз Цикл 
счетчик=счетчик+1;

ОбластьСтрокаОсновной.Параметры.счетчик=счетчик; 

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

Для Каждого Колонка из Тз.Колонки ЦИКЛ 
ОбластьСтрокаДОП.Параметры.ЗначениеКолонки=стр[Колонка.Имя];

Табл.Присоединить(ОбластьСтрокаДОП);

КонецЦикла;

КонецЦикла;

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

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

Табл.Присоединить(ОбластьИтогДОП);

КонецЦикла;

Табл.ТолькоПросмотр=истина;

Табл.Показать();

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

//Процедура формирует и выводит отчет таблице значений 
// Параметры : 
// ТЗ - ТаблицаЗначений 
Процедура УниверсальныйОтчетПоТЗ(ТЗ)

Табл=Новый ТабличныйДокумент;

Макет = ЭтотОбъект.ПолучитьМакет("Макет");

ОбластьШапкаОсновной=Макет.ПолучитьОбласть("Шапка|Основной");

ОбластьСтрокаОсновной=Макет.ПолучитьОбласть("Строка|Основной");

ОбластьИтогОсновной=Макет.ПолучитьОбласть("Итог|Основной");


ОбластьШапкаДОП=Макет.ПолучитьОбласть("Шапка|Показатели");

ОбластьСтрокаДОП=Макет.ПолучитьОбласть("Строка|Показатели");

ОбластьИтогДОП=Макет.ПолучитьОбласть("Итог|Показатели");


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

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

Табл.Присоединить(ОбластьШапкаДОП);

КонецЦикла;

счетчик=0;

Для каждого стр из Тз Цикл 
счетчик=счетчик+1;

ОбластьСтрокаОсновной.Параметры.счетчик=счетчик; 

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

Для Каждого Колонка из Тз.Колонки ЦИКЛ 
ОбластьСтрокаДОП.Параметры.ЗначениеКолонки=стр[Колонка.Имя];

Табл.Присоединить(ОбластьСтрокаДОП);

КонецЦикла;

КонецЦикла;

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

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

Табл.Присоединить(ОбластьИтогДОП);

КонецЦикла;

Табл.Показать();

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




 
 

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Простой макет
.zip 0,59Kb
10.07.13
80
.zip 0,59Kb 80 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. OldthiefXXX OldthiefXXX (OldthiefXXX) 19.04.11 13:04
Действительно сократило время! ;-)
2. Сергей Сергеев (Рамзес) 21.04.11 08:44
3. Илья (i132) 22.02.12 13:20
по моему таблицу значений удобнее выводить в экранную форму - можно отсортировать по произвольной колонке,
если выводить на печать то большая функциональность при выводе с помощью СКД: http://infostart.ru/public/116645/

За запрос "-": не учтен вариант, когда в запросе есть итоги - удобнее выгружать в дерево -отображать группировку итогов. код читать было бы легче если после выгрузки запроса в ТЗ вы бы вызвали процедуру печати ТЗ.
"-" за то тчо не печатаете параметры запроса.

хорошо бы выводить в заголовке что выводится в полученную таблицу.
4. Александр Никитин (ManyakRus) 04.07.12 11:26
Спасибо, всё сразу заработало :)
(Доделал себе чтоб выводил в свою же таблицу а не на новую страницу)
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа