Экспорт данных о транзакциях в ПО «SC-наличность»

Утилита SCCash.exe

Для экспорта данных о транзакциях в «SC-Наличность» разработана консольная утилита SCCash.exe. Консольную утилиту удобно вызывать из планировщика задач ОС Windows, т.е. периодические задачи можно запускать средствами ОС.

Формат вызова утилиты:

SCCash.exe --config конфигурационный файл --report тип отчета

Пример вызова утилиты:

SCCash.exe --config appsettings.json --report deposit
  • -- config – имя конфигурационного файла (в формате json), в котором хранятся параметры подключения к БД и шаблоны имен файлов, в которых необходимо сохранять отчеты. Передача параметров в конфигурационном файле позволяет настроить политику безопасности таким образом, что содержимое этого файла может видеть только утилита SCCash.exe и администратор системы.

  • -- report – тип создаваемого отчета:

    • «operations» – список всех операций приема наличных за позавчерашнюю дату;

    • «deposit» – остатки по кассетам за последний операционный цикл.

Для подготовки отчетов используется агрегация с кореллированным подзапросом для вычисления общей суммы операций платежного терминала, в разрезе валюты. Отчеты являются мультивалютными – для формирования выборки данных используется поле «ISO_DIG» (идентификатор валюты по стандарту ISO). Вместе с тем система в целом является моновалютной.

Листинг 2. Пример конфигурационного файла
{
"ConnectionStrings": {
    "DefaultConnection": "Server=(local)\\SQLEXPRESS;Database=OpenADM;User ID=sa;
    Password=12345678"
  },
  "GoAnyWhereTargets": {
    "deposit": "c:\\Temp\\GoAnyWhere\\OPDN.01.deposit{DATETIMESTAMP}.txt",
    "operations": "c:\\Temp\\GoAnyWhere\\OPDN.01.operations{DATETIMESTAMP}.txt"
  }
}
  • "ConnectionStrings" – строка подключения к БД.

  • "GoAnyWhereTargets" – шаблоны имен файлов, в которых сохраняются отчеты, каждого типа. В шаблоне имени файла отчета могут быть использованы макросы – позиционные маркеры, заменяемые параметрами системы. Например, макрос {DATETIMESTAMP} будет заменен на временной штамп момента генерации отчета, в формате «yyyyMMddHHmmss».

Периодическое формирование отчетов с помощью планировщика задач

Для периодического формирования отчетов необходимо добавить две «простые задачи» в планировщике задач следующим образом:

  1. Нажмите в меню планировщика Действие > Создать простую задачу. Откроется мастер создания задачи.

  2. Выберите периодичность выполнения действия. Рекомендуется указать задачи, как выполняемые ежедневно и назначить конкретное время для их выполнения, например, два часа ночи.

  3. Выберите действие «запуск программы». Укажите следующие параметры:

    • Программа или сценарий – выбрать файл SCCash.exe.

    • Добавить аргументы:

      • «–config appsettings.json –report deposit» – для формирования списка всех операций приема наличных за позавчерашнюю дату;

      • «–config appsettings.json –report operations» – для формирования отчета по остаткам по кассетам за последний операционный цикл.

    • Рабочая папка – рабочий подкаталог, соответствующий папке, в которой находится файл SCCash.exe. Рядом с файлом SCCash.exe должен находится конфигурационный файл appsettings.json.

  4. Проверьте параметры задания и нажмите кнопку Готово.

  5. Откройте свойства созданной задачи (контекстное меню задачи > Свойства) и укажите следующие параметры безопасности:

    • При выполнении использовать следующую учетную запись пользователя – выберите учетную запись с административными правами на данном сервере.

    • Поставьте флаг Выполнять вне зависимости от регистрации пользователя.

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

../_images/schedule_journal.png

Рисунок 34. Журнал операций планировщика заданий