gifts2017

Асинхронное формирование отчетов в клиент-серверном варианте (УФ)

Опубликовал Иван Белокаменцев (1c-intelligence) в раздел Программирование - Практика программирования

Пример реализации асинхронного вывода нескольких отчетов на одну управляемую форму. Написано для УПП (используется справочник "Произвольные отчеты")

Обработку надо вставить в конфигурацию, присоединить к какой-нибудь подсистеме, включенной в командный интерфейс. Не уверен, но возможно поставить галку "Использовать стандартные команды".

 На форме обработки, в табличке, нужно выбрать отчеты из справочника "Произвольные отчеты". По умолчанию вывод делается в поле табличного документа, но для диаграмм это некрасиво, поэтому есть признак "Нарисовать в диаграмме". Если признак стоит, диаграмма из отчета будет скопирована на диаграмму формы (т.е. без поля табличного документа). Если результат выполнения отчета не будет содержать диаграммы, будет написано "ошибка".

 Для формирования отчета нужна процедура общего модуля с текстом:

 Процедура СформироватьОтчетПоместитьВоВременноеХранилище(Отчет, Адрес) Экспорт

ТабДок = Новый ТабличныйДокумент;
ОтчетОбъект = Отчеты.ПроизвольныйОтчет.Создать();
ОтчетОбъект.УстановитьПроизвольныйОтчет(Отчет);
ОтчетОбъект.СформироватьОтчет(ТабДок);

ПоместитьВоВременноеХранилище(ТабДок, Адрес);

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

 

У меня она лежит в общем модуле итКлиентСервер, можно положить в другой. Только не забыть поменять в форме обработки то место, где идет вызов фонового задания:

 

ФоновыеЗадания.Выполнить("итКлиентСервер.СформироватьОтчетПоместитьВоВременноеХранилище",МассивПараметров, СтрокаОтчетов.ИдентификаторХранилища);

 

Потом надо нажать кнопку "Сформировать отчеты" и подождать. По умолчанию опрос результата идет раз в 10 секунд, можно управлять с помощью регулятора на форме.

 Поля табличных документов и диаграммы для вывода формируются автоматически в нужном количестве, выстраиваются в горизонтальные ряды (сколько в ряд - выведено на форму).

 Приложил скриншот, как выглядит обработка в демобазе УПП.

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

Наименование Файл Версия Размер Кол. Скачив.
Обработка
.epf 8,54Kb
07.06.13
16
.epf 8,54Kb 16 Скачать

См. также

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

Комментарии

1. Денис Денисов (koladen) 10.07.13 08:42
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа