<< Click to Display Table of Contents >> Navigation: Создание отчетов > Формирование отчета в исполнительной системе |
Для того чтобы иметь возможность формировать отчет в режиме исполнения необходимо во время разработки проекта добавить в него служебный ФБ ReportFB из библиотеки: BaseObjects.ФБ.Системны, который управляет формированием отчета:
Чтобы указать, каким отчетом будет управлять данный ФБ нужно настроить или вход Name или вход Report
В настройках входа Name необходимо указать в качестве значения по умолчанию имя отчета, которым будет управлять данный ФБ. Имя отчета содержит в себе имя объекта и его родителей, в которым находится отчет, и имя самого отчета. Поэтому можно вставить ранее скопированное полное имя отчета и удалить оттуда несущественные элементы. Например, свойство Полное имя имеет значение: Объекты.Формирование отчета.Ресурсы.Отчеты.Отчет 1, нужно оставить - Формирование отчета.Отчет 1
Если отчет создан в дерве системы, то в свойстве нужно указать только имя отчета. Имя узла, указывать не требуется.
Нужно на вход Report передать ID отчета, который нужно сформировать. Это можно сделать перетащив на вход Report нужный отчет. Если один ФБ служит для формирования несколькими отчетами, то тогда вход нужно определять в программе. В программу добавляется параметр типа REF_TO:
На рисунке переменные программы Параметр_1, Параметр_2 и Параметр_ref_to имеют специальный тип REF_TO:
Каждый отчет связан с входным параметром. Какой именно отчет формировать определяется переменной Периодический_Итоговый типа BOOL (в окне клиента визуализации она может быть связана с Кнопкой с фиксацией). Далее в программе определяем значения выхода программы, который в свою очередь связываем в входом Report функционального блока, который управляет формированием отчета.
Чтобы запустить формирование отчета нужно на вход Execute функционального блока, который управляет формированием отчета подать значение TRUE.
Для просмотра отчета можно использовать элемент Контейнер окна
Один из возможных вариантов описан в разделе Пример создания отчета
Важно! Если необходимо обеспечить просмотр отчетов в графическом клиенте, то файлы с отчетами должны находиться внутри папки htdocs.
Следует учитывать, что для отображения отчета в окне клиента исполнительной системы (и для выполнения других действий, которые будут выполняться из графического клиента с файлом отчета), файл отчета должен быть доступен web-серверу, а значит должен находиться внутри папки \htdocs проекта , загруженного в среду исполнения.
При разработке отчетов и панелей индикаторов, выражения могут обрабатываться в режиме Интерпретация (Interpretation) или Компиляция (Compilation).
В режиме Компиляция для вычисления выражений используется CSharp компилятор. В этом случае, допускается использование событий, различных методов и функций платформы .NET Framework. Однако, время построения отчета или панелей индикаторов замедляется, а также требуется больший объем оперативной памяти.
В режиме Интерпретация для вычисления выражений используется собственный интерпретатор. Это ускоряет построение отчета или панели индикаторов, снижает требуемый объем оперативной памяти. Однако, в отчете или на панели индикаторов можно использовать только встроенные функции и методы. Не допускается использование событий и сторонних скриптов.
По умолчанию используется режим Компиляция. Чтобы сменить режим нужно открыть свойства отчета:
Изменить свойство Режим вычислений:
Смотрите также: