Для отправки захваченных и упакованных документов в произвольную программу предназначен модуль отправки в произвольную программу.
Модуль отправки в произвольную программу может работать с типами файлов:
| • | EXE-файлы; |
| • | BAT-файлы; |
| • | скрипты. |
В отличие от EXE-файлов и BAT-файлов скрипты запускаются через службу скриптов с указанием в качестве дополнительных аргументов имени скрипта. Например, скрипт vbs запускается через wscipt.exe.
Настройки модуля отправки в произвольную программу хранятся в конфигурационном файле служб ввода CaptureService.exe.config.
Отправка документов в произвольные программы представлена на схеме:

Алгоритм работы модуля отправки в произвольную программу:
| 1. | Модуль отправки в произвольную программу с помощью линии получает сформированный пакет документов и метаданных от модуля упаковки. Подробнее см. разделы «DeviceInfo.xml», «InstanceInfos.xml», «InputFiles.xml». |
| 2. | Модуль отправки в произвольную программу вызывает указанную в конфигурационном файле CaptureService.exe.config программу. |
| 3. | Модуль отправки в произвольную программу передает программе путь к пакету с документами и пути к файлам с метаданными о пакете. Полученную информацию программа использует по своему усмотрению. |
| 4. | Модуль отправки в произвольную программу ожидает завершение отправки. Если результат запуска модуля отправки равен нулю, то отправка выполнена успешно, если модуль вернул результат, отличный от нуля, это считается ошибкой. Если отправка выполняется с ошибкой, то модуль отправки отправляет информацию заново. |
Время ожидания выполнения отправки и количество попыток отправки настраивается в конфигурационном файле служб ввода. Каждая попытка отправки записывается в лог-файл службы ввода.
Cекция ProgramSender
Секция ProgramSender предназначена для настройки модуля отправки в произвольную программу.
Структура секции:
<ProgramSender Type="Directum.Dcs.Capture.Senders.ProgramSender.ProgramSenderFactory">
<clear/>
<add
Name="AnyProgramSender"
WorkingFolder="C:\DCS\SomeCapture\AnyProgramSender"
Program="C:\AnyProgramFolder\anyprogram.exe"
ProgramArguments=""
ProgramWorkingFolder="C:\DCS\SomeCapture\AnyProgramSender\Temp"
TimeOutInSeconds="60"
TryCount="1"
WorkersCount="2"/>
</ProgramSender>
Type – имя класса, реализующего отправитель.
add – настройки модуля отправки:
| • | Name. Уникальное имя модуля отправки, используемое для настройки линии; |
| • | WorkingFolder. Папка временных файлов; |
| • | Program. Полный путь к исполняемому файлу программы; |
| • | ProgramArguments. Параметры запуска программы, передаваемые в командной строке. Значение по умолчанию – пустая строка; |
| • | ProgramWorkingFolder. Папка временных файлов программы; |
| • | TimeOutInSeconds. Время ожидания выполнения программы в секундах. Значение по умолчанию 60. Если время ожидания истекает, то служба ввода пытается снова отправить пакет в зависимости от значения настройки TryCount; |
| • | TryCount. Количество попыток отправки. Если за указанное количество попыток не удается запустить программу, то пакет с документом сохраняется в папке для временных файлов. Значение по умолчанию 1; |
| • | WorkersCount. Количество потоков отправки. Рекомендуется указывать значение, которое не превышает число ядер процессора. Значение по умолчанию 2. |
Примечание
Можно указать несколько модулей отправки.
| © Компания Directum, 2020 | Сообщество пользователей Directum |