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

19.08.14

Разработка - Механизмы платформы 1С

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Обработка
.epf 8,54Kb
30
30 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

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

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

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

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

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

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

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

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

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

См. также

Механизмы платформы 1С Программист Платформа 1С v8.3 Бесплатно (free)

В платформе 8.3.27 появилась возможность использовать WebSocket-клиент. Давайте посмотрим, как это все устроено и чем оно нам полезно.

14.01.2025    3742    dsdred    38    

79

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Эта небольшая статья - некоторого рода шпаргалка по файловым потокам: как и зачем с ними работать, какие преимущества это дает.

23.06.2024    9412    bayselonarrend    20    

158

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример использования «Сервисов интеграции» без подключения к Шине и без обменов.

13.03.2024    6876    dsdred    18    

80

Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Все мы используем массивы в своем коде. Это один из первых объектов, который дают ученикам при прохождении обучения программированию. Но умеем ли мы ими пользоваться? В этой статье я хочу показать все методы массива, а также некоторые фишки в работе с массивами.

24.01.2024    21724    YA_418728146    26    

73

Механизмы платформы 1С Программист Бесплатно (free)

Язык программирования 1С содержит много нюансов и особенностей, которые могут приводить к неожиданным для разработчика результатам. Сталкиваясь с ними, программист начинает лучше понимать логику платформы, а значит, быстрее выявлять ошибки и видеть потенциальные узкие места своего кода там, где позже можно было бы ещё долго медитировать с отладчиком в поисках источника проблемы. Мы рассмотрим разные примеры поведения кода 1С. Разберём результаты выполнения и ответим на вопросы «Почему?», «Как же так?» и «Зачем нам это знать?». 

06.10.2023    24966    SeiOkami    48    

136
Оставьте свое сообщение