воскресенье, 5 октября 2014 г.

Руководство программиста по разработке отчетов

Перейти к концу метаданных
Переход к началу метаданных
This is version 0.9.0 of this page. | Status: Draft
Working Version:
VersionStatusChange InfoActions
0.8.0Draft
Page added in 0.8.0.
0.9.0Draft
Page modified in 0.9.0. (show differences)
0.10Page not changed in version 0.10.

Аннотация

Данное руководство является частью документации банковской системы «Colvir Banking System (CBS-3plus)» и содержит описание технологического процесса разработки оперативных отчетов для CBS-3plus.
Руководство ориентировано на непосредственных разработчиков модулей и также может быть полезно специалистам, выполняющим функции настройки системы и поддержки ее работоспособности.
Документ соответствует состоянию CBS-3plus на Июль 2014 года.

Содержание

I. Загрузка компонентов JasperReports

Необходимые файлы можно взять на: «M:/FreshHG/cbs4-draft/3rd-Party-Utils/iReport/LastStable/».
На данном этапе используем "свою" сборку iReport по ряду причин, которые требуются для интеграции со средним слоем CBS-3plus.

II. Установка дизайнера iReport

II.2. Запуск в среде Windows: запускаем «../iReport-5.5.1/bin/ireport.exe». Для работы необходимо установить JRE от Oracle (если не установлено) например «jre-7u51-windows-i586.exe» взять можно на: «O:/Dist/Java».
II.3. Запуск в среде Linux: запускаем «../iReport-5.5.1/bin/ireport».

III. Сборка maven

III.1. WebSphere:
В файле «...\WebSphere\AppServerCommunityEdition-2.1.1.6\bin\setjavaenv.bat» определить следующие переменные среды если их нет:
Пример для Windows:
Windows
set JAVA_OPTS=%JAVA_OPTS% -DCOLVIR_SETTINGS=ПУТЬ_К_ФАЙЛУ/colvir.settings.xml
set JAVA_OPTS=%JAVA_OPTS% -Dfile.encoding=UTF-8.
Пример для Linux:
Linux
JAVA_OPTS="$JAVA_OPTS -DCOLVIR_SETTINGS=ПУТЬ_К_ФАЙЛУ/colvir.settings.xml"
JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF-8"
Icon
«ПУТЬ_К_ФАЙЛУ» должен содержать в качестве разделителя «/» либо «\\».
Внимание
Icon
Внимание сообщения об ошибке указанные ниже 
Сannot find reporting engine [type = JR]
Cannot find reporting engine [type = OOXML]
говорят о том что модуля отчетов не подключены, подключение модулей отчетов выполняется в файле настройки WebServer «colvir.settings.xml» путем указания следующий свойств, после чего необходимо перезапустить WebServer
<property key="cbs-report-jasper" />
<property key="cbs-report-ooxml" />
 пример подключения модулей смотрите в примере описания "III.2. Пример файла «colvir.settings.xml»"
 III.2. Пример файла «colvir.settings.xml» : Нажмите здесь для раскрытия...
III.3. Команда сборки:
Сборка
mvn clean install -Pdeploy-to-dir -Dcolvir-client-qx -Dcolvir-report.

IV. Настройка iReport

IV.1.  Задаем «unit» − cm: «Меню→Tools→Options→General».
Форма задания единиц измерения в сантиметры.
Рис.IV.1. Форма задания единиц измерения в сантиметры.
IV.2. Задаем язык по умолчанию «Java».
Форма задания языка по умолчанию Java.
Рис. IV.2. Форма задания языка по умолчанию Java.
IV.3. Задаем путь к файлу «colvir.config».
Форма свойств iReport.
Рис. IV.3. Форма свойств iReport.
 Форма задания пути к файлу colvir.config.
Рис. IV.4. Форма задания пути к файлу «colvir.config».
Icon
«ПУТЬ_К_ФАЙЛУ» должен содержать в качестве разделителя «/» либо «\\». Значение переменной должно быть заключено в кавычки.
 colvir.config : Нажмите здесь для раскрытия...
Icon
В примере указан адрес веб-сервера приложения CBS colvir.host=localhost, colvir.port=8080. Для работы необходимо задать свой адрес, используемый веб-сервером, на котором развернуто приложение CBS. Так же следует указать значения: «ИМЯ_ПОЛЬЗОВАТЕЛЯ» и «ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ».
Локализия отчета
Icon
для того чтобы использовать предпросмотр в режиме перевода на другой язык указываем необходимый язык в параметре «colvir.reportLanguage». Например :
colvir.reportLanguage=en_EN 
IV.4. Добавляем «ColvirDataSourceProvider» дата провайдер.
IV.4.1  Нажимаем на кнопку «Report Datasources».
Форма iReport.
Рис. IV.5. Форма iReport.
IV.4.2  Нажимаем на кнопку «New».
Рис. IV.6. Форма задания Datasource.
IV.4.3  Выбираем пункт «JRDataSourceProvider».
Форма выбора типа Datasource.
Рис. IV.7. Форма выбора типа Datasource.
IV.4.4   Задаем провайдер:
Форма задания Datasource.
Рис. IV.8. Форма задания Datasource.
    • Name: ColvirDataSourceProvider;
    • Class: com.colvir.report.jasper.datasource.ColvirDataSourceProvider.
IV.4.5   Нажимаем на кнопку «Test».
Форма успешного теста Datasource.
Рис. IV.9. Форма успешного теста Datasource.
IV.4.6  Далее – на кнопку «Save».

V. Создание шаблона отчета

Отчет должен содержать переменные. Добавление переменных в отчет происходит следующим образом: «Меню Window → Report Inspector» → «Variables» → контекстное меню «Add Variable».
Переменные необходимы для построения предпросмотра в iReport, в дальнейшем не исключено что механизм будет изменен.
Icon
При создании нового отчета из шаблона iReport следует проверить шаблон XML созданного отчета на предмет содержания текста «language="groovy"». При обнаружении указанного текста его необходимо удалить.
V.1.  Name: COLVIR_CONTEXT_NAME;
Variable Class: java.lang.String.
Возможные варианты:
V.1.1  Variable Expression : "C_CTX_DATASET_LST" – указываем код контекста по которому строится отчет (C_CTX_DATASET_LST – это пример контекста).
Icon
Контекст, а, следовательно, и набор данных, связанный с контекстом, должны быть сделаны до создания шаблона отчета. Значение переменной должно быть заключено в кавычки.
Если контекст содержит завершающий символ '$', то при зачитывании полей следует указывать"C_CTX_DATASET_LST\$" _после зачитывания вернуть к нормальному виду"C_CTX_DATASET_LST$".
V.1.2  Variable Expression: "DATASET$C_TEST_REPORT_SUB" – указываем код набора данных по которому строится отчет (C_TEST_REPORT_SUB – это пример набора данных).
Icon
Набор данных – должен быть создан до создания отчета. Значение переменной должно быть заключено в кавычки.
V.1.3  Variable Expression: "RPT$C_TEST_REPORT_SUB" – указываем код отчета из которого будут взяты связанные с отчетом Источники данных (заданные на закладке «Источники данных») (C_TEST_REPORT_SUB – это пример отчета).
Icon
Отчет, Источники данных должны быть созданы до создания отчета. Значение переменной должно быть заключено в кавычки.
V.2.  Переменные, описывающие наборы данных для CBS-3plus.
Переменные могут быть любые не обязательно type, path, method. что нужно передавать должен знать программист, который это делает. Ниже представлен пример вызова конкретного адаптера.
    • ADAPTER_type;
    • ADAPTER_path;
    • ADAPTER_method.
Пример использования:
<variable name="ADAPTER_type" class="java.lang.String">
    <variableExpression><![CDATA["service"]]></variableExpression>
</variable>
<variable name="ADAPTER_path" class="java.lang.String">
    <variableExpression><![CDATA["cbs3-rtran.mts"]]></variableExpression>
</variable>
<variable name="ADAPTER_method" class="java.lang.String">
    <variableExpression><![CDATA["loadDtl"]]></variableExpression>
</variable>
V.3.  Можно задать переменные с префиксом DS_ и они будут передаваться в качестве параметров DataSet в запрос.
<variable name="DS_ИМЯ_ПАРАМЕТРА" class="java.lang.String">
    <variableExpression><![CDATA["ЗНАЧЕНИЕ_ПАРАМЕТРА"]]></variableExpression>
</variable>
Icon
ИМЯ_ПАРАМЕТРА – должно быть описано как поле/параметр в DataSet. 
Например: 
<variable name="DS_DEP_ID" class="java.lang.Number">
    <variableExpression><![CDATA[1035]]></variableExpression>
</variable>
<variable name="DS_ID" class="java.lang.Number">
    <variableExpression><![CDATA[216232]]></variableExpression>
</variable>

V.4.  Добавление полей
Для ручного задания полей используем: «Report Inspector» → «Fields» → контекстное меню «Add Field».
Для добавляемого поля указываем:
  • Name;
  • Field Class;
  • Description.
Для автоматического задания полей используем: добавление полей, нажимаем кнопку, указанную на рисунке.
Форма дизайнера отчетов.
Рис. V.1. Форма дизайнера отчетов.
Открываем закладку «DataSource Provider».
Форма получения полей из Datasource связанных с текущим отчетом.
Рис. V.2. Форма получения полей из Datasource связанных с текущим отчетом.
Нажимаем на кнопку «Get fields from datasource».
Если все верно, то поля будут вычитаны, оставляем нужные поля и нажимаем «ОК».
Форма полей связанных с текущим отчетом.
Рис. V.3. Форма полей связанных с текущим отчетом.
V.5.  Добавление элементов в отчет:
Открываем окно Palette (меню Window → Palette). Перетягиваем элемент из окна Palette на поле отчета в соответствующий раздел.
Разделы отчета:
    • Title;
    • Page Header;
    • Column Header;
    • Detail;
    • Column Footer;
    • Page Footer;
    • Summary.
V.6.  Примеры
 Пример простого отчета : Нажмите здесь для раскрытия...
 V.6.1 Пример отчета содержащего подотчет «Головной отчет» «C_TEST_REPORT» (подотчет указан в п. V.6.2) : Нажмите здесь для раскрытия...
 V.6.2 Пример отчета содержащего «Подотчет» «C_TEST_REPORT_SUB» (подотчет для п. V.6.1) : Нажмите здесь для раскрытия...

VI. Получение отчета

XML-текст отчета, полученный iReport, сохраняем с задаче «Список отчетов». Данные, которые необходимо задать в детализации задачи: 

Закладка «Описание»

  • Код – уникальный в рамках Системы;
  • Длинное наименование;
  • Наименование;
  • Локализация;
  • Тип настройки;
  • Модуль;
  • Примечание.

Закладка «Шаблон / Ресурсы»

  • Генератор отчетов (JR – для JasperReport), (OOXML для шаблона *.docx);
  • Файл экспорта – Тип файла экспорта по умолчанию;
  • Устройство печати – Вид устройства печати;
  • Локализация – Вид локализации;
  • Язык – Язык отчета;

Закладка «Шаблон»

  • Шаблон – XML текст шаблона (текст шаблона, который копируется из отчета в iReport), (для типа OOXML не заполняем).

Закладка «Файлы ресурсов»

С помощью кнопки «Загрузить файл» загружаем файл ресурса:
    • «Алиас» – код параметра указанного в шаблоне отчета;
    • «Путь к ресурсу» – путь для выгрузки ресурса перед формированием отчета (если необходимо).
С помощью кнопки «Выгрузить файл» выгружаем файл ресурса:
Для отчета OOXML с помощью кнопки «Загрузить файл» загружаем файл шаблона "ИМЯ-ФАЙЛА.docx" или "ИМЯ-ФАЙЛА.xlsx".

Закладка «Подотчеты»

Предназначена для подотчетов, используемых в отчете, для шаблона OOXML подотчетов нет.

Закладка «Параметры»

Параметры отчета, которые будут заполняться на форме, которая откроется при формировании отчета (в режиме ручного вызова отчета), либо должны быть переданы в сервис при автоматическом формировании отчета:
  • Код – код параметра указанный в шаблоне отчета;
  • Наименование – наименование параметра будет отображаться в форме ввода параметров отчета;
  • Номер по порядку – порядок отображения на форме;
  • Обязательность – обязательность ввода значения параметра;
  • Домен – домен параметра;
  • Тип элемента формы;
  • Условие доступности;
Поле «Условие доступности» может содержать:
    • ЗНАЧЕНИЕ 
    • ПЕРЕМЕННАЯ:
      • const.КОД_ПЕРЕМЕННОЙ_СЕССИИ
  • Значение по умолчанию.
Поле «Значение по умолчанию» может содержать:
    • ЗНАЧЕНИЕ 
    • ПЕРЕМЕННАЯ:
      • const.КОД_ПЕРЕМЕННОЙ_СЕССИИ

Закладка «Источники данных»

Служит для задания источников данных используемых в отчетах.
  • Алиас – код параметра используемого в отчете;
  • Основнойалиас – зарезервировано для последующего использования;
  • Набор данных – связанный с параметром отчета набор данных CBS.
Параметры набора данных:
  • Список из пары: Код параметра – Значение параметра.
Параметры поддерживают следующие выражения: 
    • ЗНАЧЕНИЕ 
    • ПЕРЕМЕННАЯ:
      • ${param.КОД_ПАРАМЕТРА}
      • ${data.КОД_ПОЛЯ}
      • ${const.КОД_ПЕРЕМЕННОЙ_СЕССИИ}
      • ${session.КОД_ПЕРЕМЕННОЙ_СЕССИИ}
      • ${system.JAVA_PROPERTY}
 Выражения «const» и «session» являются идентичными.
Пример: 
${const.MAIN_POSCODE}
Пример указания источника данных для CBS-3plus:
Форма задания method для источника данных CBS-3plus.
Рис. VI.1. Форма задания "method" для источника данных CBS-3plus.
Форма задания path для источника данных CBS-3plus.
Рис. VI.2. Форма задания "path" для источника данных CBS-3plus.
Форма задания type для источника данных CBS-3plus.
Рис. VI.2. Форма задания "type" для источника данных CBS-3plus.

Компиляция

Компиляция шаблона отчета осуществляется с помощью кнопки «Компилировать», которая присутствует на списке отчета и на детализации отчета в режиме «Просмотра». Предназначена для более быстрого последующего выполнения отчета.

Формирование отчета

Формирование отчета доступно с помощью кнопок «Предпросмотр», «Выполнить»«Печать», которые присутствуют на списке отчета и на детализации отчета в режиме «Просмотра».
После нажатия на указанные кнопки откроется форма ввода предварительных параметров (см. Рис. VI.4.):
Форма ввода параметров генерации отчета для действий Выполнить, Печать.
Рис. VI.4. Форма ввода параметров генерации отчета для действий «Выполнить», «Печать».
  • «Асинхронная генерация» ─ признак предназначен для асинхронной генерации отчета, при задании этого признака отчет попадает в «Очередь отчетов» посмотреть можно в задаче «Список очереди отчетов»;
  • «Запустить немедленно» - постановка задания в очередь и запуск его выполнения;
  • «Приоритет 0 (max) .. 9 (min)» - задание приоритета формирования в очереди отчетов, 0 - макстимально значение, 9 - минимальное значение;
  • «Тип экспорта» ─ файл экспорта сформированного отчета;
  • «Язык» ─ язык отчета;
  • «Институт» ─ институт, в разрезе которого формируется отчет.
На Рис. VI.5. представлена форма ввода параметров генерации (упрощенная) для действия «preview».
Форма ввода параметров генерации отчета для действия Предпросмотр.
Рис. VI.5. Форма ввода параметров генерации отчета для действия «Предпросмотр».
Если для отчета заданы параметры, то после формы ввода предварительных параметров откроется форма вода параметров отчета, после ввода которых и будет сгенерирован отчет.
Icon
Для CBS-3plus должен быть создан пользователь системы с одинаковым наименованием (не забываем про регистрозависимость) в институте cbs, и в системе cbs-3plus.

VII. Использование изображений в отчетах

Пример использования двух вариантов применения картинок в отчетах можно посмотреть в тестовом примере подотчета «C_TEST_REPORT_SUB».
VII.1. При загрузке ресурса непосредственно в отчет. Загрузка осуществляется в детализации отчета на закладке «Бинарные ресурсы». Для добавления нового изображения, необходимо сперва добавить новую запись - нажав кнопку «Add» расположенную под списком, после чего выполнить загрузку изображения нажав на кнопку «Загрузить файл». Замена изображения осуществляется по нажатию кнопки «Загрузить файл» и загрузке нового изображения.
В шаблоне отчета следует указать примерно так:
1
2
3
4
5
6
7
8
9
10
11
12
13
<!—
class="java.io.InputStream" – для ресурсов загруженных непосредственно в отчет
-->
<parameter name="bookmark-new.png" class="java.io.InputStream" isForPrompting="false"/>
<!—
Тег «image» должен быть расположен в теге родительского компонента
В теге «reportElement» указываем свои значения параметров изображения
В теге «imageExpression» указан «Алиас» изображения
-->
<image>
      <reportElement x="0" y="2" width="48" height="48"/>
      <imageExpression><![CDATA[$P{bookmark-new.png}]]></imageExpression>
</image>
Пример загрузки изображения непосредственно в отчет.
Рис. VII.1. Пример загрузки изображения непосредственно в отчет.
VII.2.  При указании адреса расположения ресурса. Указание адреса ресурса осуществляется в детализации отчета на закладке «Бинарные ресурсы» в поле «Путь к ресурсу».
1
2
3
4
5
6
7
8
9
10
11
12
13
<!—
class=" java.lang.String " – для ресурсов не загруженных непосредственно в отчет, а с указанием адреса расположения в поле «Путь к ресурсу»
-->
<parameter name="report.png" class="java.lang.String" isForPrompting="false">
<!—
Тег «image» должен быть расположен в теге родительского компонента
В теге «reportElement» указываем свои значения параметров изображения
В теге «imageExpression» указан «Алиас» изображения
-->
<image>
      <reportElement x="8" y="50" width="32" height="32"/>
      <imageExpression><![CDATA[$P{report.png}]]></imageExpression>
</image>
Пример загрузки изображения с помощью указания адреса.
Рис. VII.2. Пример загрузки изображения с помощью указания адреса.

VIII. Параметры отчета: переменные сессии

 Поддерживаемые переменные сессии, которые могут использоваться в качестве параметров отчета : Нажмите здесь для раскрытия...
Пример в файле отчета
Icon
 Объявление:
<parameter name="SESSION_MAIN_POSCODE" class="java.lang.String"></parameter>
Использование:
<![CDATA[$P{SESSION_MAIN_POSCODE}]]>

IX. Шаблон отчета: OOXML

Поддерживаются следующие выражения :
    • $P{ПАРАМЕТР}
    • $F{АЛИАС.ПОЛЕ}
    • $J{МЕТОД_JAVA}
    • $L{КОМАНДА_ЦИКЛА.АЛИАС}
    • $C{КОМАНДА}

Параметры

$P{ПАРАМЕТР}
Пример
Icon
$P{RPT_TITLE}

Поля

$F{АЛИАС.ПОЛЕ}
Внимание
Icon
Алиас обязательно должен быть задан
Пример
Icon
$F{MAIN.LONGNAME}

Java

$J{МЕТОД_JAVA}
Пример
Icon
$J{com.colvir.report.Format.getCurrentDate()}

Цикл

$L{КОМАНДА_ЦИКЛА.АЛИАС}
Icon
Если указаны команды цикла "BEGIN", "END" то соответствующие строки таблицы, если они будут не пустые будут удалены.
Icon
Если указаны команды цикла "START", "STOP" то соответствующие строки таблицы не будут удалены.
Пример 1
Icon
$L{BEGIN.LOG}
...
$L{END.LOG}
Пример 2
Icon
 $L{START.LOG}
...
$L{STOP.LOG}
Пример 3
Icon
Код


$L{BEGIN.MAIN}


$F{MAIN.CODE}

 $F{MAIN.LONGNAME} 

Код
Сумма
$L{BEGIN.DETAIL}
$C{FORMAT.MONEY}

$F{DETAIL.CODE}
$F{DETAIL.VALUE}
$C{INC.ARABIC}
$L{END.DETAIL}
Итог $C{TOTAL.MONEY}
$L{BEGIN.DTL2}
$C{FORMAT.MONEY}

$F{DTL2.CODE}
$F{DTL2.VALUE}
$C{INC.ARABIC}
$L{END.DTL2}
Итог $C{TOTAL.MONEY}
$C{INC.ROMAN}
$L{END.MAIN}Итого позиций :$C{COUNT.ARABIC}
Итог$C{TOTAL.MONEY.CHILD}

Команды циклов

$C{КОМАНДА}

Суммирование

Деньги

$C{TOTAL.MONEY}

Числа

$C{TOTAL.NUMBER} или $C{TOTAL.DOUBLE} или $C{TOTAL.FLOAT} - значения идентичны

Целые числа

$C{TOTAL.INTEGER} или $C{TOTAL.INT} - значения идентичны

Суммирование в сумм во вложенных циклах

Деньги

$C{TOTAL.MONEY.CHILD}

Числа

$C{TOTAL.NUMBER.CHILD} или $C{TOTAL.DOUBLE.CHILD} или $C{TOTAL.FLOAT.CHILD} - значения идентичны

Целые числа

$C{TOTAL.INTEGER.CHILD} или $C{TOTAL.INT.CHILD} - значения идентичны

Инкремент

Арабские цифры

$C{INC.ARABIC} или $C{INC.DECIMAL} - значения идентичны

Римские цифры

$C{INC.ROMAN}

Количество строк

Арабские цифры

$C{COUNT.ARABIC} или $C{COUNT.DECIMAL} - значения идентичны

Римские цифры

$C{COUNT.ROMAN} 

Формат колонки

Деньги

$C{FORMAT.MONEY}

Числа

$C{FORMAT.NUMBER} или $C{FORMAT.DOUBLE} или $C{FORMAT.FLOAT} - значения идентичны

Целые числа

$C{FORMAT.INTEGER} или $C{FORMAT.INT} - значения идентичны

Проценты

$C{FORMAT.PERCENT} или $C{FORMAT.PRC} - значения идентичны

Конвертация в другие форматы

Конвертация в форматы осуществляется при помощи пакета LibreOffice
страница загрузки пакета http://www.libreoffice.org/download/
Icon
для успешной конвертации необходимо чтобы LibreOffice был загружен в память, это задается в настройках LibreOffice, необходимо включить следующий пункт : Меню - Сервис - Параметры - LibreOffice - Память - Запускать LibreOffice во время запуска системы. После перезапуска системы LibreOffice загрузится в память, соответствующий значок должен быть в трэй.
Примеры
Примеры отчетов 
C_REPORTQUEUE_DOCX, C_REPORTQUEUE_XLSX, C_REPORTSET_DOCX

X. Комплект отчетов

Действия

  • filter — фильтр;
  • new — создать новый комплект отчетов;
  • clone — создать копию комплекта отчетов;
  • edit — редактировать комплект отчетов;
  • view — просмотреть комплект отчетов;
  • delete — удалить комплект отчетов;
  • reportsetrun — выполнить комплект отчетов;
  • reportrun — выполнить отчет из комплекта отчетов;
  • customization — кастомизировать комплект отчетов;
  • close — закрыть.

Детализация

Закладка «Описание»

все поля стандартные. 

Закладка «Настройки»

  • Признак интерактивного режима - при проставлении данного признака будут выводиться формы запроса режима и параметров;
  • Выдача результата.
Возможные значения:
    • ARC − Архив;
    • DSK − Сохранение в файл;
    • PRN − Печать на принтер с помощью агента печати;
    • SND − Рассылка.
  • Формат файла результата. - Список поддерживаемых фарматов
  • Аргументы выполнения комплекта.
Поддерживаются следующие аргументы:
    • COMPR_TYPE − Тип сжатия в архив.
Поддерживаются следующие типы сжатия файла результата:
      • Без архивации:
        • NONE.
      • Архивация в один файл:
        • AR;
        • AR-GZ, AR-GZIP,
        • AR-BZ, AR-BZIP, AR-BZ2, AR-BZIP2
        • AR-XZ,
        • CPIO;
        • CPIO-GZ, CPIO-GZIP;
        • CPIO-BZ, CPIO-BZIP, CPIO-BZ2, CPIO-BZIP2;
        • CPIO-XZ,
        • TAR,
        • TAR-GZ, TAR-GZIP, TGZ;
        • TAR-BZ, TAR-BZIP, TBZ, TAR-BZ2, TAR-BZIP2, TBZ2,
        • TAR-XZ,
        • ZIP.
    • Компрессия (каждый отчет в отдельном файле):
      • GZ, GZIP;
      • BZ, BZIP, BZ2, BZIP2;
      • XZ.
Например:
archive.TGZ
archive.NONE
archive.ZIP
    • COMPR_NAME - Имя файла архива
Например: ${data.CODE}
    • COMPR_PATH - Путь внутри архива
Например: reports${system.file.separator}${const.MAIN_DOPER}${system.file.separator}${data.CODE}, что означает примерно следующее: report/01.01.2013/Z_REPORTSET_CODE.
Значение аргумента может содержать:
  • ЗНАЧЕНИЕ
  • ПЕРЕМЕННАЯ:
  • ${data.КОД_ПОЛЯ}
  • ${param.КОД_ПАРАМЕТРА}
  • ${const.КОД_ПЕРЕМЕННОЙ_СЕССИИ}
  • ${session.КОД_ПЕРЕМЕННОЙ_СЕССИИ}
  • ${system.JAVA_PROPERTY}
  • Набор данных
Указываем набор данных, по каждой строке которого будет запущено формирование комплекта.
Параметры набора данных - указываем входные параметры для набора данных.
Поле "Значение" может содержать:
    • ЗНАЧЕНИЕ 
    • ПЕРЕМЕННАЯ:
      • ${data.КОД_ПОЛЯ}
      • ${param.КОД_ПАРАМЕТРА}
      • ${const.КОД_ПЕРЕМЕННОЙ_СЕССИИ}
      • ${session.КОД_ПЕРЕМЕННОЙ_СЕССИИ}
      • ${system.JAVA_PROPERTY}

Закладка «Отчеты»

  • Группа «Отчеты»
    • Код отчета - указывается код выполняемого отчета;
    • Номер по порядку - указывается номер по порядку формирования отчета;
    • Тип документа - указывается тип файла экспорта отчета;
    • Условие формирования - указывается условие формирования отчета.
Поле "Условие формирования" может содержать:
      • ЗНАЧЕНИЕ
      • ПЕРЕМЕННАЯ:
        • ${data.КОД_ПОЛЯ}
        • ${report.КОД_ПОЛЯ}
        • ${param.КОД_ПАРАМЕТРА}
        • ${field.КОД_ПОЛЯ}
        • ${const.КОД_ПЕРЕМЕННОЙ_СЕССИИ}
        • ${session.КОД_ПЕРЕМЕННОЙ_СЕССИИ}
        • ${system.JAVA_PROPERTY}

    • Количество копий - указывается количество копий отчета;
    • Имя файла - указывается имя файла отчета.
Например: ${report.RPT_CODE}_${report.RPT_INDEX}
Поле "Имя файла" может содержать:
      • ЗНАЧЕНИЕ
      • ПЕРЕМЕННАЯ:
        • ${data.КОД_ПОЛЯ}
        • ${report.КОД_ПОЛЯ}
        • ${param.КОД_ПАРАМЕТРА}
        • ${field.КОД_ПОЛЯ}
        • ${const.КОД_ПЕРЕМЕННОЙ_СЕССИИ}
        • ${session.КОД_ПЕРЕМЕННОЙ_СЕССИИ}
        • ${system.JAVA_PROPERTY}
Кроме того для имени файла доступна переменная ${report.RPT_INDEX}. RPT_INDEX: ${report.RPT_INDEX} - Номер файла отчета одного кода по порядку, т.е. от 1 до «Количество копий».
  • Группа «Параметры отчета»
    • Параметр - указывается код параметра отчета;
    • Значение - указывается значение параметра.
Например: ${data.CODE} – ${field.PRIM} – ${const.MAIN_DOPER} – ${param.RPT_SUBTITLE}.
Поле "Значение" может содержать:
      • ЗНАЧЕНИЕ
      • ПЕРЕМЕННАЯ:
        • ${data.КОД_ПОЛЯ}
        • ${report.КОД_ПОЛЯ}
        • ${param.КОД_ПАРАМЕТРА}
        • ${field.КОД_ПОЛЯ}
        • ${const.КОД_ПЕРЕМЕННОЙ_СЕССИИ}
        • ${session.КОД_ПЕРЕМЕННОЙ_СЕССИИ}
        • ${system.JAVA_PROPERTY}

Закладка «Параметры»

  • Код - код параметра;
  • Наименование - наименование параметра;
  • Номер по порядку - номер по порядку параметра для отображения на форме;
  • Обязательность - признак обязательности заполнения параметра;
  • Домен - Код домена параметра;
  • Тип элемента форма – элемент, отображаемый на форме ввода параметров;
  • Условие доступности - условие доступности параметра.
Поле «Условие доступности» может содержать:
    • ЗНАЧЕНИЕ
    • ПЕРЕМЕННАЯ:
      • const.КОД_ПЕРЕМЕННОЙ_СЕССИИ
  • Значение по умолчанию - значение по умолчанию параметра.
Поле «Значение по умолчанию» может содержать:
    • ЗНАЧЕНИЕ 
    • ПЕРЕМЕННАЯ:
      • const.КОД_ПЕРЕМЕННОЙ_СЕССИИ

Формирование комплекта отчетов

Формирование комплекта отчетов доступно с помощью кнопки «Выполнить», которая присутствует на списке комплекта отчетов и на детализации комплекта отчетов в режиме «Просмотра».
После нажатия на указанную кнопку откроется форма ввода предварительных параметров:
  • «Асинхронная генерация» ─ признак предназначен для асинхронной генерации комплекта отчетов, при задании этого признака комплект отчетов попадает в «Очередь отчетов» посмотреть можно в задаче «Список очереди отчетов»
  • «Запустить немедленно» - постановка задания в очередь и запуск его выполнения;
  • «Приоритет 0 (max) .. 9 (min)» - задание приоритета формирования в очереди отчетов, 0 - макстимально значение, 9 - минимальное значение;
  • «Формат файлов» ─ формат файлов экспорта, отчетов, включенных в комплект отчетов;
  • «Вариант выдачи» ─ варианты отработки результатов формирования отчетов.
  • «Язык» ─ язык отчетов включенных в комплект;
  • «Институт» ─ институт, в разрезе которого формируются отчеты, включенные в комплект.
Форма задания параметров генерации комплекта отчетов.
Рис. X.1. Форма задания параметров генерации комплекта отчетов.
Если для комплекта отчетов заданы параметры, то после формы ввода предварительных параметров откроется форма вода параметров комплекта отчетов, после ввода которых и будет сгенерирован комплект отчетов.

Формирование отчета включенного в комплект отчетов

Формирование комплекта отчетов доступно с помощью кнопки «Выполнить отчет», которая присутствует на списке комплекта отчетов и на детализации комплекта отчетов в режиме «Просмотра».
После нажатия на указанную кнопку откроется форма выбора отчетов включенных в комплект отчетов:
Форма выбора отчета, включенного в комплект отчетов.
Рис. X.2. Форма выбора отчета, включенного в комплект отчетов.
 Пример ноды Sarasvati : Нажмите здесь для раскрытия...

XI. Очередь отчетов

Отчеты и «Комплекты отчетов» попадают в очередь формирования при задании признака «Асинхронная генерация» в параметрах генерации отчета либо комплекта отчетов. Атрибут параметров генерации «Приоритет асинхронной генерации» влияет на очередность обработки очереди в автоматическом режиме. 

Действия «Список»

  • view — просмотр детализации;
  • reset — установка признака сброса задания (отказ от выполнения задания);
  • restart — перевод задания в статус «Ожидание»;
  • run — запуск формирования задания (доступно для задания в статусе «Ожидание»);
  • runall — запуск формирования всех заданий находящихся в статусе «Ожидание»;
  • download – скачать файлы результаты выполнения задания;
  • downloadzip – скачать результаты задания в виде одного файла zip архива;
  • print – печать результатов задания;
  • refresh — обновление списка;
  • filter — установка фильтра;
  • close — закрыть.

Действия «Детализация»

  • reset — установка признака сброса задания (отказ от выполнения задания);
  • restart — перевод задания в статус «Ожидание»;
  • run — запуск формирования задания (доступно для задания в статусе «Ожидание»);
  • downloadall – скачать файлы результаты выполнения задания;
  • downloadzip – скачать результаты задания в виде одного файла zip архива;
  • printall – печать результатов задания;
  • refresh — обновление данных;
  • close — закрыть.
На закладке «Файлы» доступны действия, относящиеся к выделенному файлу в таблице «Сформированные файлы»:
  • Скачать – скачать выделенный файл;
  • Печатать – печатать выделенный файл.

XII. Обрабатываемые переменные

${data.КОД_ПОЛЯ}
 Табл. XII.1. Выражения, которые могут использоваться в качестве «КОД_ПОЛЯ» для «Отчета» : Нажмите здесь для раскрытия...
 Табл. XII.2. Выражения, которые могут использоваться в качестве «КОД_ПОЛЯ» для «Комплекта отчетов» : Нажмите здесь для раскрытия...
${report.КОД_ПОЛЯ}
 Табл. XII.3. Выражения, которые могут использоваться в качестве «КОД_ПОЛЯ» для «Отчета» заданного в «Комплекта отчетов», (отчеты задаются на закладке «Отчеты») : Нажмите здесь для раскрытия...
${field.КОД_ПОЛЯ}
В качестве «КОД_ПОЛЯ» могут использоваться поля заданные в «Наборе данных» «Комплекта отчетов», если он задан.
${param.КОД_ПАРАМЕТРА}
Для «Отчета» в качестве «КОД_ПАРАМЕТРА» могут использоваться параметры «Отчета», добавленные в детализации «Отчета» на закладке «Параметры».
 Табл. XII.4. Предопределенные параметры, которые могут использоваться в качестве «КОД_ПАРАМЕТРА» для «Отчета» : Нажмите здесь для раскрытия...
Для «Комплекта отчетов» в качестве «КОД_ПАРАМЕТРА» могут использоваться параметры «Комплекта отчетов», добавленные в детализации «Комплекта отчетов» на закладке «Параметры».
 Табл. XII.5. Предопределенные параметры, которые могут использоваться в качестве «КОД_ПАРАМЕТРА» для «Комплекта отчетов» : Нажмите здесь для раскрытия...
${const.КОД_ПЕРЕМЕННОЙ_СЕССИИ}, ${session.КОД_ПЕРЕМЕННОЙ_СЕССИИ}
 Выражения, которые могут использоваться в качестве «КОД_ПЕРЕМЕННОЙ_СЕССИИ» : Нажмите здесь для раскрытия...
${system.JAVA_PROPERTY}
В качестве «JAVA_PROPERTY» могут использоваться системные свойства поддерживаемые java.
 Табл. XII.6. Свойства, которые поддерживает, JAVA v1.6, v1.7 : Нажмите здесь для раскрытия...
Icon
Приведен примерный перечень, в зависимости версии java и операционной системы набор свойств может отличаться
 Табл. XII.7. Пример свойств JAVA, Java - Oracle 1.7.0_45, OS - Debian 7.2 : Нажмите здесь для раскрытия...

XIII. Вызовы из сценария Sarasvati для отчетов

 Нода вызова предпросмотра отчета с заполнением параметров : Нажмите здесь для раскрытия...

Формирование отчета

Примеры вызовов есть в сценариях C_LREPORT_SCN$, C_DREPORT_SCN$.
 Нода вызова формирования отчета с заполнением параметров : Нажмите здесь для раскрытия...

Печать отчета

Примеры вызовов есть в сценариях C_LREPORT_SCN$, C_DREPORT_SCN$.  
 Нода вызова печати отчета с вызовом форм заполнения параметров : Нажмите здесь для раскрытия...

XIV. Вызовы из сценария Sarasvati для Комплекта отчетов

Формирование комплекта отчетов

Примеры вызовов есть в сценариях C_LREPORTSET_SCN$, C_DREPORTSET_SCN$.
 Нода вызова комплекта отчетов с вызовом форм заполнения параметров : Нажмите здесь для раскрытия...

XV. Специальные ноды сценария Sarasvati

Нода «dd.report»

Структура ноды "dd.report". Нода <custom> может включать следующие ноды:
    • <report> или <reportSet>;
    • <parameters>.
Нода <report> может включать следующие ноды:
Код отчета. Пример:
<code>
    <string>C_TEST_REPORT</string>
</code>
Признак асинхронного формирования отчета. Пример:
<asyncfl>
    <string>1</string>
</asyncfl>
Приоритет асинхронной генерации отчета. Пример:
<asyncPriority>
    <string>0</string>
</asyncPriority>
Признак немедленного запуска асинхронного формирования отчета. Пример:
<asyncRun>
    <string>1</string>
</asyncRun>
Признак отправки информационного сообщения через сервис «info». Пример:
<infoSend>
    <string>1</string>
</infoSend>
Идентификатор информационного сообщения. Пример:
<infoId>
     <string>print</string>
 </infoId>
Получатель информационного сообщения. Пример:
<infoReceiver>
    <string>info.client</string>
</infoReceiver>
Код института. Пример:
<institute>
    <string>GLOBAL</string>
</institute>
Код языка. Пример:
<language>
    <string>ru_RU</string>
</language>
Тип формируемого файла. Пример:
<export>
    <string>PDF</string>
</export>
Параметры отчета. Пример:
<parameters>
    <new>
        <type>
            <string>row</string>
        </type>
        <!-- Передача параметров в отчет -->
        <field>
            <key>
                <string>RPT_SUBTITLE</string>
            </key>
            <value>
                <string>List Class : REFDSC</string>
            </value>
        </field>
        <field>
            <key>
                <string>CLTYPE</string>
            </key>
            <value>
                <string>REFDSC</string>
            </value>
        </field>
        <!-- В качестве источника данных передается контекст зачитанный в переменную DETAIL -->
        <field>
            <key>
                <string>REPORT_DATA</string>
            </key>
            <value>
                <memoryTree>
                    <parent>
                        <string>DETAIL</string>
                    </parent>
                </memoryTree>
            </value>
        </field>
    </new>
</parameters>
Нода <reportSet> включает те же ноды что и нода <report>. Нода <parameters> может иметь следующие обрабатываемые параметры:
    • «type»:
      • cbs3 – обработка в модулях CBS-3;
      • cbs4 – обработка по умолчанию;
      • можно задавать свои типы и обработчики.
    • «mode»:
      • file – формирование файла;
      • print – печать файла;
      • none – не отправлять UserEvent.
    • «goal»:
      • delayed – обработка очереди отложенной печати CBS-3.
 Пример 1 : Нажмите здесь для раскрытия...
 Пример 2 : Нажмите здесь для раскрытия...
 Печать отчета «C_TEST_REPORT», с передачей значений параметров «RPT_SUBTITLE», «CLTYPE» : Нажмите здесь для раскрытия...
 Получение файла отчета «C_TEST_REPORT», с передачей значений параметров «RPT_SUBTITLE», «CLTYPE» : Нажмите здесь для раскрытия...
 Асинхронное формирование и печать отчета «C_TEST_REPORT», с передачей значений параметров «RPT_SUBTITLE», «CLTYPE» : Нажмите здесь для раскрытия...
 Асинхронное формирование и получение файла отчета «C_TEST_REPORT», с передачей значений параметров «RPT_SUBTITLE», «CLTYPE» : Нажмите здесь для раскрытия...
 Печать комплекта отчета «C_TEST_REPORT2», с передачей значений параметров «RPT_SUBTITLE», «CLTYPE» : Нажмите здесь для раскрытия...
 Получение файлов комплекта отчета «C_TEST_REPORT2», с передачей значений параметров «RPT_SUBTITLE», «CLTYPE» : Нажмите здесь для раскрытия...
 Асинхронное формирование и печать комплекта отчетов «C_TEST_REPORT2», с передачей значений параметров «RPT_SUBTITLE», «CLTYPE» : Нажмите здесь для раскрытия...
 Асинхронное формирование и получение файлов комплекта отчета «C_TEST_REPORT2», с передачей значений параметров «RPT_SUBTITLE», «CLTYPE» : Нажмите здесь для раскрытия...
 Печать отчетов из очереди отложенной печати отчетов пользователя CBS-3 : Нажмите здесь для раскрытия...
 Получение файла отчета «C_REPORTSET_DOCX», с передачей динамического контекста «DETAIL» : Нажмите здесь для раскрытия...

Нода «dd.service»

Нода <parameters> может иметь следующие обрабатываемые параметры:
    • «type»:
      • cbs3 – обработка в модулях CBS-3;
      • cbs4 – обработка по умолчанию (не обязательно).
      • можно задавать свои типы и обработчики.
    • «event» – отправлять UserEvent.
Значения:
      • file – выгрузка файла;
      • print – печать файла.
 Пример 1 : Нажмите здесь для раскрытия...
 Пример 2 : Нажмите здесь для раскрытия...
Примеры вызова нод:
 Вызов метода : Нажмите здесь для раскрытия...
 Выгрузка файла : Нажмите здесь для раскрытия...
 Печать файла : Нажмите здесь для раскрытия...

XVI. Отложенная печать

Отложенная печать инициируется при установке признаков: "Асинхронная генерация" и "Запустить немедленно", которые расположены на форме ввода предварительных параметров.

XVII. Кастомизация

Для кастомизации отчетов и комплектов отчетв предназначена кнопка "Кастомизировать" расположенная на списке отчетов и комплектов отчетов соотвественно. Кастомизируется весь отчет и комплект отчетов.
Если источник данных кастомизирован то для построения отчета удет использоваться кастомизированный источник данных.
Форма списка отчетов с кастомизированными отчетами.
Рис. XVII.1. Форма списка отчетов с кастомизированными отчетами.
Форма списка комплекта отчетов с кастомизированными комплектами.
Рис. XVII.2. Форма списка комплекта отчетов с кастомизированными комплектами.

XVIII. Локализация шаблонов

Для локализации шаблонов необходимо установить параметр "Локализация" в значение "Локализация шаблона" и задать "Язык" - это язык в котором выполнен шаблон отчета .
Форма детализации отчета, закладка для ввода параметров отчета.
Рис. XVIII.1. Форма детализации отчета, закладка для ввода параметров отчета.
Далее необходимо задать переводы фраз для данного отчета в блоке Локализации ресурсов
Таблица : C_LOCAL_CTX
    • Поле TYPE = 'SRV_MSG'
    • Поле CODE = 'COLVIR-REPORT'
Таблица : C_LOCAL
    • Поле TYPE = 'REPORT'
    • Поле CODE = КОД_ЛОКАЛИЗУЕМОГО_ОТЧЕТА
    • Поле SOURCE = ТЕКСТ
    • Поле CTX_ID = (SELECT ID FROM C_LOCAL_CTX WHERE TYPE = 'SRV_MSG' AND CODE = 'COLVIR-REPORT')
    • Поле RESCODE = REPORT.КОД_ЛОКАЛИЗУЕМОГО_ОТЧЕТА.ANY
Таблица : C_LOCAL_TRN
    • Поле LOCAL_ID = C_LOCAL.ID - Запись переводимого текста
    • Поле LNG_ID = C_LNG.ID - Язык
    • Поле TRANSLATION = ПЕРЕВОД

Комментариев нет:

Отправить комментарий