Repo auto make wiki page - ☆Wiki Sandbox - НТЦ 'Комплексные Системы'

D8-ReportTool

Утилита для запуска генерации отчетов, реализованных внутри других модулей.

Аргументы командной строки

Режим, в котором запускается утилита, определяется аргументами командной строки.

Регистрация

В этом режиме утилиты создает журнал событий для утилиты и источник событий в этом журнале.

d8_reporttool.exe regEventLog=eventSourceName
  • regEventLog
    Название источника, который будет зарегистрирован в журнале событий утилиты.

Генерация отчетов

Штатный режим для генерации отчетов. Возможно настройки можно указывать в командной строке в виде набора пар ключ/значение, разделенных пробелом, либо в отдельном файле. Возможен также комбинированный вариант: часть настроек задается в отдельном файле, часть - в командной строке.

d8_reporttool.exe argsList.ini
d8_reporttool.exe config=argsList.ini
d8_reporttool.exe key1=value1 key2=value2 ...
d8_reporttool.exe config=argsList.ini key1=value1 key2=value2 ...
  • instanceList
    Путь к файлу со списком инстансов системы Дельта в формате d8_root.ini или monitor.configlist. Во втором случае через символ "|" можно указать индекс конфигурации. Например,
    instanceList=c:\delta8\system\d8_root.ini
    instanceList=c:\delta8_client\config\mon.configlist
    instanceList=monitor.configlist|1
    
  • login
    Логин для авторизации в инстансах системы Дельта. Например,
    login=usr password=prd winauth=false
    
  • password
    Пароль для авторизации в инстансах системы Дельта.
  • winauth - true|false
    Признак использования windows-авторизации для инстансов системы Дельта. true - использовать windows-авторизацию, false - не использовать.
  • plugin - assemply_name
    Имя сборки плагина, который нужно загрузить перед началом построения отчета. Можно указывать несколько ключей plugin. Нет смысла указывать сборки, которые загружаются всегда по умолчанию: d8_client3, d8_excelreports. Например,
  • reportClass
    Имя типа .NET, который нужно для генерации отчета. По умолчанию используется D8ExcelReport
  • reportName
    Название макета отчета или путь файла макета отчета.
  • output
    Путь для сохранения построенного отчета.
  • ouptutDir
    Путь папки для сохранения построенного отчета. По умолчанию - текущая папка утилиты.
    Если ключ ouptutDir задан, а output - нет, то полный путь будет сформирован автоматически. К пути папки ouptutDir будет добавлено название макета в качестве имени файла отчета. Или, если макет отчета содержит правила для генерации имени файла и относительного пути, то к пути ouptutDir будет добавлен относительный путь, определенный в макете.
  • timezone
    Строка с описанием временной зоны, которую нужно использовать при построении отчета. По умолчанию: LOCAL
  • culture
    Регион, который нужно использовать при построении отчета. По умолчанию будет использована инвариантная культура. Например,
    timezone="Ekaterinburg Standard Time" culture=ru_RU
    
  • setField
    Установка значения поля отчета. Указывается в виде
    setField="StepX.FieldY=FieldValue"
    где StepX - шаг отчета, а FieldY - имя поля ввода.
    Можно указать несколько ключей setField. Например:
    setfield="Step1.Timing.AutoFix=true" 
    setfield="Step1.ParamTable.Value.ParamDbFields=SID,LocalName" 
    setfield="Step1.ParamTable.Value.ParamSids=TEST.1260,TEST.1261,TEST.1262" 
    
  • logFile
    Путь текстового файла для вывода в лог. По умолчанию файловый лог не ведется.
  • logAppend
    Признак того, что файловый лог нужно дописывать к концу уже существующего файла. true - дописывать файл, false - пересоздать файл.
  • logEventSource
    Имя источника в журнале событий для вывода лога. По умолчанию журнал событий не используется.
  • logEventLog
    Имя журнала событий для вывода в лог. По умолчанию: DeltaLog - D8 ReportTool
  • encoding
    Кодировка для выходного файла. По умолчанию: UTF-8
  • format
    Формат генерируемого отчета. Значение по умолчанию и набор возможных значений определяются используемым макетом.
    Возможные форматы:
    • Excel - файл в формате xlsx,
    • Table - таблицы в формате текстового файла (CSV или подобном),
    • Word - файл в формате docx.
       
  • sign
    Если имеет значение true, то отчет после построения будет подписан цифровой подписью. Если false - не подписывать отчет. Отчет может быть подписан с помощью сертификата, помещенного в хранилище ОС. В этом случае нужно использовать ключи certStore и certThumbprint. Например,
    sign=true
    certStore=CurrentUser
    certThumbprint=1b eb c1 a0 ef 90 7c 9d 78 aa 04 e3 09 99 fd 33 2e 38 a7 4c
    

    Или отчет может быть подписан с помощью сертификата, сохраненного в файл. Тогда нужно использовать ключи certFile и (при необходимости) certPassword. Например,
    sign=true
    certFile=c:\certificates\delta8.p12
    certPassword=secret
    
  • certStore
    Хранилище сертификатов. Возможные значения:
    • LocalMachine - хранилище этого компьютера (значение по умолчанию),
    • CurrentUser - хранилище текущего пользователя.
  • certThumbprint
    Отпечаток сертификата в виде строки шестнадцатеричных значений.
  • certFile
    Путь файла сертификата для цифровой подписи.
  • certPassword
    Опциональный пароль для доступа к ключу в файле сертификата certFile. По умолчанию (если ключ не указан) пароль не используется.

Выполнение FL-скриптов

Утилиту можно использовать в качестве средства для запуска скриптов на языке формул (FL).
Для этого нужно в качестве макета отчета указать файл с расширением .fl, тогда настройка reportClass определится автоматически.

В результате выполнения такой операции не генерируется файл отчета, поэтому настройки output и outputDir не используются.

Конвертирование файлов

Чтобы утилита запустилась в режиме конвертирования нужно указать ключ convert. В этом случае вместо генератора отчетов будет использован конвертер файлов.

  • convert
    Тип требуемой конвертации. Доступные значения:
    • ExcelToCsv - конвертирование xlsx в csv.
  • input
    Путь файла, который нужно сконвертировать.
  • output
    Путь для результирующего файла. Если не указан, то путь будет сгенерирован автоматически.
  • ouptutDir
    Папка для результирующего файла. По умолчанию - текущая папка.
  • fieldTerminator
    Разделитель полей для результирующего файла. По умолчанию: \t
  • rowTerminator
    Разделитель строк для результирующего файла. По умолчанию: \r\n
  • firstRow
    Номер строки, с которого нужно начинать конвертирование (а предыдущие пропустить). По умолчанию: 1.

Подписание отчетов

Утилиту можно запустить в режиме подписания отчетов. Для этого нужно указать ключ signFile. Тогда утилита подписывает указанный отчет и завершает работу.

  • signFile
    Путь файла, который нужно подписать цифровой подписью.

Остальные ключи работают аналогично режиму построения отчетов:

  • output
  • ouptutDir
  • certStore
  • certThumbprint
  • certFile
  • certPassword

Например:

signFile=my_report.xlsx
certThumbprint=1b eb c1 a0 ef 90 7c 9d 78 aa 04 e3 09 99 fd 33 2e 38 a7 4c
output=my_signed_report.xlsx

Проверка наличия дисков

Если указать ключ checkResource, то перед выполнением любых действий (кроме регистрации) утилиты выполнит проверку наличия указанного логического диска. Если такого диска не окажется, то утилита завершит работу. Это можно использовать, например, в условиях запуска на кластере для определения того, выполняется ли утилита на основном узле кластера или нет.

  • checkResource
    Буква диска с двоеточием. Например,
    checkResource=Y:
    

История версий

  • 1.1.21.0302
    • Добавлена функция запуска FL-скрипта.
  • 1.1.17.1219
    • В список доступных инстансов добавлен расчетный инстнас "CI".
  • 1.1.16.1201
    • Добавлена поддержка подписания xlsx-документов с помощью сертификата.
  • 1.0.16.0720
    • Изменения в интерфейсе ID8Report.
  • 1.0.16.0215
    • Добавлена настройка checkResource. Если указан один или несколько ключей checkResource, то при отсутствии таких ресурсов (сейчас это может быть только диск), выполнение отменяется.
    • Исправлена ошибка обработки аргументов командной строки вида "d8_reporttool.exe argsListRelativePath.ini".
  • 1.0.15.1016
    • Добавлена возможность использования D8-ReportTool в качестве конвертера файлов.
    • Добавлен конвертер из xlsx в csv.
    • Добавлены настройки culture и timezone.
  • 1.0.15.128
    • Первая версия.