Конфигурация


Настройка интерфейса приложения

После установки и запуска приложения пользователь с правами администратора может настроить отображение данных в приложении. Сделать это можно, запустив ПО и перейдя в Меню пользователя -> Настройки (см. Рисунок 21).

Рисунок 21

Подробнее о настройках в подразделе Административная панель.

Доработка конфигурации

Кроме настройки интерфейса в приложении, Администратор может доработать конфигурацию ПО, внеся изменения в файл config.json.

В конфигурации config.json можно настроить интерфейсные настройки и внутренние настройки. Используемые параметры для настройки config.json описаны ниже.

config.json

Для внесения изменений в конфигурацию необходимо установить и запустить ПО, после чего в дистрибутиве на ПК пользователя появится файл config.json. Вносить изменения в файл конфигурации следует после закрытия приложения. Пример параметров, содержащихся в config.json после запуска и настройки приложения, представлен ниже (см. Листинг 1):

Листинг 1

{
  "Web": {
    "ListenUrl": "http://0.0.0.0:8000",
    "UpdateChannel": "release",
    "Title": "Instance Name"
  },
  "Transits": [
    {
      "OutboxPath": "c:/TT/OUTBOX/",
      "InboxPath": "c:/TT/INBOX/",
      "SentPath": "c:/TT/SENT/",
      "ProcessedPath": "c:/TT/PRCSD/",
      "ImportPath": "c:/TT/Import/",
      "ExportPath": "c:/TT/Export/",
      "Doc1CPath": "c:/TT/Doc1C/",
      "DraftPath": "c:/TT/Draft/",
      "ErrorPath": "c:/TT/ERRORS/",
      "VerifyInboxFiles": false,
      "PersonCode": "MC00702000TT"
    },
    {
      "OutboxPath": "c:/TT2/OUTBOX/",
      "InboxPath": "c:/TT2/INBOX/",
      "SentPath": "c:/TT2/SENT/",
      "ProcessedPath": "c:/TT2/PRCSD/",
      "ImportPath": "c:/TT2/Import/",
      "ExportPath": "c:/TT2/Export/",
      "Doc1CPath": "c:/TT2/Doc1C/",
      "DraftPath": "c:/TT2/Draft/",
      "ErrorPath": "c:/TT2/ERRORS/",
      "VerifyInboxFiles": false,
      "PersonCode": "MC00005000TT"
    }
  ],
  "Db": {
    "ConnectionString": "Server=localhost;Port=5432;Database=transit;User Id=postgres;Password=1234;"
  },
  "OperationDay": "2019-11-01",
  "OperationDayGap": "2",
  "OpDayChangeTime": "12:00",
  "StatementAutoRequest": true,
  "FilterPaymentsByOperationDay": "False"
}

Секция IGate

В файле конфигурации может также присутствовать секция IGate, содержащая параметры подключения к Интеграционному шлюзу по Web API.

Важно: Секция IGate является опциональной секцией. Присутствует в конфигурационном файле только в случае, если взаимодействие с Интеграционным шлюзом настроено с использованием Web API (в настройках Интеграционного шлюза включена опция Использовать сервер Web API). Если данная опция выключена, то секция IGate в конфигурационном файле не прописывается. При отсутствии блока IGate, будет использоваться файловый обмен с Интеграционным шлюзом (через сетевые папки на сервере Интеграционного шлюза).

Пример заполнения секции IGate в конфигурационном файле:

"IGate": {   
  "Url": "https://localhost:8082", 
  "UserName": "testUser",   
  "Password": "1234", 
  "CertificateSerialNumber": "5D0000002A27166132F5B111BF00000000002A"
},

Описание параметров секции приведено ниже:

  • Url - адрес сервиса Web API Интеграционного шлюза, обязательный параметр;
  • UserName - имя пользователя для аутентификации. Важно: является опциональным параметром, необходимо заполнить, если в настройках Интеграционного шлюза включена опция Использовать аутентификацию;
  • Password - пароль пользователя для аутентификации. Важно: является опциональным параметром, необходимо заполнить, если в настройках Интеграционного шлюза включена опция Использовать аутентификацию;
  • CertificateSerialNumber - серийный номер сертификата SSL Интеграционного шлюза (буквы серийного номера сертификата необходимо прописывать в верхнем регистре.). Важно: является опциональным параметром, при использовании https и наличии этого параметра будет включена проверка соответствия серийного номера транспортного сертификата.

Внимание: если на момент установки релиза 19 Терминала Транзита обмен через API уже был включен, необходимо удалить из конфигурационного файла параметр FGateUrl (больше не актуален). Значение параметра необходимо перенести в секцию IGate.Url.

Примечание: Пароль для аутентификации в конфигурационном файле можно зашифровать с помощью утилиты nsdt.config_encryptor.exe. Для нее добавлен параметр командной строки --Igate. Подробнее про шифрование паролей см. раздел Шифрование паролей.

Включение логирования CEF

Терминал Транзита поддерживает логирование в формате CEF. В отличие от стандартного логирования, все логи персонифицированы (присутствуют аккаунты пользователей в событиях различных изменений и аутентификации).

Выполняется журналирование событий следующих типов:

  • Аутентификация пользователей;
  • Действия с аккаунтами пользователей: создание/удаление/изменение;
  • Аудит изменения прав пользователя, изменения в ролевой системе;
  • Изменение системных настроек ПО;
  • Аудит действий пользователей в ПО;

Чтобы включить логирование CEF, необходимо в конфигурационный файл Терминала Транзита добавить ключ Log.EnableCefLogger со значением true.

Если настройка включена, то на сервере Терминала Транзита в папке с логами момимо файла со стандартным логированием (ndts), будет создаваться файл cef<YYYYMMDD>.log, где будут логироваться все действия в формате CEF.

Ниже представлен список возможных параметров при логировании:

  • dt - Дата и время на стороне передатчика;
  • edt - Дата и время события;
  • src - IP адрес источника(пользователя) события
  • prcid - Id процесса;
  • sts - Статус события;
  • user - Логин источника(пользователя) события;
  • suid - Id источника(пользователя) события;
  • accnum - Номер счёта;
  • accid - Id счёта;
  • perms - Полномочия;
  • doctp - Тип документа;
  • docid - Id документа;
  • msg - Сообщение с деталями;
  • tgtuser - Логин целевого пользователя;
  • tgtuid - Id целевого пользователя;
  • orgid - Id организации;
  • orgnm - Наименование организации;
  • sn - Серийный номер сертификата;
  • fileId - Id файла;
  • fileName - Имя файла;
  • bmid - id банковского модуля;
  • diff - Изменения;

Ниже представлены примеры возможных событий:

  • UserLogIn (1000) (severity=1) - Вход пользователя;

    Aug 18 2022 09:17:24 host CEF:0|NSD|NSDTransit2.0|1.0.0|1000|User logged in|1|dt=18.08.2022 09:17:24 edt=18.08.2022 09:17:24 prcid=23276 sts=Successfully suid=2 user=o1 src=127.0.0.1:63798 msg=The user has successfully logged in

  • UserLogInFail (1001) (severity=4) - Неудачная попытка входа пользователя;

    Aug 18 2022 09:18:26 host CEF:0|NSD|NSDTransit2.0|1.0.0|1001|User failed login|4|dt=18.08.2022 09:18:26 edt=18.08.2022 09:18:26 prcid=23276 sts=Unsuccessfully user=o1 src=127.0.0.1:63800 msg=An error occurred during authorization

  • UserLogInBlock (1002) (severity=4) - Блокировка пользователя;

    Aug 18 2022 09:56:54 host CEF:0|NSD|NSDTransit2.0|1.0.0|1002|User login blocked|4|dt=18.08.2022 09:56:54 edt=18.08.2022 09:56:54 prcid=24504 sts=Unsuccessfully user=o2 src=127.0.0.1:50408 msg=User o2 blocked

  • UserLogOut (1003) (severity=0) - Выход пользователя;

    Aug 18 2022 09:17:45 host CEF:0|NSD|NSDTransit2.0|1.0.0|1003|User logged out|0|dt=18.08.2022 09:17:45 edt=18.08.2022 09:17:45 prcid=23276 sts=Successfully suid=2 user=o1 src=127.0.0.1:63800 msg=The user has successfully logged out

  • FileImport (1004) (severity=2) - Импорт файла;

    Aug 18 2022 09:58:03 host CEF:0|NSD|NSDTransit2.0|1.0.0|1004|User imported file|2|dt=18.08.2022 09:58:03 edt=18.08.2022 09:58:03 prcid=24504 sts=Successfully suid=2 user=o1 src=127.0.0.1:50409 fileName=test_sber_2.txt msg=File test_sber_2.txt imported successfully

  • DocumentSign (1005) (severity=2) - Подпись документа;

    Aug 18 2022 09:59:51 host CEF:0|NSD|NSDTransit2.0|1.0.0|1005|User signed document|2|dt=18.08.2022 09:59:51 edt=18.08.2022 09:59:51 prcid=24504 sts=Successfully suid=2 user=o1 src=127.0.0.1:50406 docid=522529 doctp=Payment sn=12005F01B3F42F552DD72295850001005F01B3 fileId=708665 fileName=MC000050PMNT_Payment_8a25507b-9b15-4d3e-98e9-d09f27124bfd.xml msg=Document #522529 has been successfully signed with a certificate sn: 12005F01B3F42F552DD72295850001005F01B3

  • UserCreate (1006) (severity=3) - Создание пользователя;

    Aug 18 2022 10:00:41 host CEF:0|NSD|NSDTransit2.0|1.0.0|1006|User was created|3|dt=18.08.2022 10:00:41 edt=18.08.2022 10:00:41 prcid=24504 sts=Successfully suid=2 user=o1 src=127.0.0.1:50406 tgtuid=115 tgtuser=test msg=User test was successfully created

  • UserPermissionAssign (1007) (severity=3) - Добавление полномочий пользователю;

    Aug 18 2022 10:07:00 host CEF:0|NSD|NSDTransit2.0|1.0.0|1007|User assigned permission|3|dt=18.08.2022 10:07:00 edt=18.08.2022 10:07:00 prcid=18136 sts=Successfully suid=2 user=o1 src=127.0.0.1:50559 accnum=40702840640004880161 perms=Import, View, Delete doctp=Payment tgtuid=115 tgtuser=test msg=Permissions was successfully assign to the user: test

  • UserCertificateAssign (1008) (severity=3) - Добавление сертификата пользователю;

    Aug 18 2022 10:08:02 host CEF:0|NSD|NSDTransit2.0|1.0.0|1008|User assigned certificate|3|dt=18.08.2022 10:08:02 edt=18.08.2022 10:08:02 prcid=18136 sts=Successfully suid=2 user=o1 src=127.0.0.1:50559 sn=12005F01B3F42F552DD72295850001005F01B3 tgtuid=115 tgtuser=test msg=Certificate sn: 12005F01B3F42F552DD72295850001005F01B3 was successfully assigned to the user: test

  • AppStart (1009) (severity=0) - Запуск приложения;

    Aug 18 2022 09:14:07 host CEF:0|NSD|NSDTransit2.0|1.0.0|1009|Application start|0|dt=18.08.2022 09:14:07 edt=18.08.2022 09:14:07 prcid=23276 sts=Successfully msg=The application has been successfully started

  • UserOrganizationEdit (1010) (severity=0) - Изменение настроек организации;

    Aug 18 2022 10:09:46 host CEF:0|NSD|NSDTransit2.0|1.0.0|1010|User edit organization|0|dt=18.08.2022 10:09:46 edt=18.08.2022 10:09:46 prcid=18136 sts=Successfully suid=2 user=o1 src=127.0.0.1:50559 orgid=2 orgnm=Тест_Сбер diff=shortName: Test -> Test2, displayName: Test -> Test2 msg=Organization Тест_Сбер was successfully updated

  • UserAccountEdit (1011) (severity=0) - Изменение настроек счёта;

    Aug 18 2022 10:15:58 host CEF:0|NSD|NSDTransit2.0|1.0.0|1011|User account edit|0|dt=18.08.2022 10:15:58 edt=18.08.2022 10:15:58 prcid=18136 sts=Successfully suid=2 user=o1 src=127.0.0.1:50696 accid=362 accnum=40702840640004880161 diff=bankName: Сбербанк -> Сбербанк 2 msg=Account with number 40702840640004880161 was successfully updated

  • UserAccountSignModelEdit (1012) (severity=0) - Изменение модели подписания;

    Aug 18 2022 10:17:15 host CEF:0|NSD|NSDTransit2.0|1.0.0|1012|User account sign model edit|0|dt=18.08.2022 10:17:15 edt=18.08.2022 10:17:15 prcid=18136 sts=Successfully suid=2 user=o1 src=127.0.0.1:50696 accid=362 accnum=40702840640004880161 diff=signPhases[1].id: null -> 1122, signPhases[1].phaseNumber: null -> 2, signPhases[1].phaseType: null -> Sign, signPhases[1].isAuto: null -> False, signPhases[1].signModelId: null -> 868 msg=Sign model was successfully updated for 40702840640004880161

  • UserUserEdit (1013) (severity=0) - Изменение пользователя;

    Aug 18 2022 10:15:07 host CEF:0|NSD|NSDTransit2.0|1.0.0|1013|User user edit|0|dt=18.08.2022 10:15:07 edt=18.08.2022 10:15:07 prcid=18136 sts=Successfully suid=2 user=o1 src=127.0.0.1:50559 tgtuid=115 tgtuser=test diff=name: test -> test2 msg=User login: test was successfully updated

  • UserPaymentOpdayFilterSwitch (1014) (severity=0) - Переключение фильтра отображения платёжных поручений согласно операционному дню;

    Aug 18 2022 10:14:36 host CEF:0|NSD|NSDTransit2.0|1.0.0|1014|User payment operation day filter switch|0|dt=18.08.2022 10:14:36 edt=18.08.2022 10:14:36 prcid=18136 sts=Successfully suid=2 user=o1 src=127.0.0.1:50559 msg=Filter payments by operation day has been successfully switched to True

  • UserAutoImportSwitch (1015) (severity=0) - Переключение автоматического импорта вкл/выкл;

    Aug 18 2022 10:14:00 host CEF:0|NSD|NSDTransit2.0|1.0.0|1015|User auto import switch|0|dt=18.08.2022 10:14:00 edt=18.08.2022 10:14:00 prcid=18136 sts=Successfully suid=2 user=o1 src=127.0.0.1:50559 msg=Auto import has been successfully switched

  • UserAutoExportEdit (1016) (severity=0) - Изменение настроек автоматического экспорта;

    Aug 18 2022 10:18:26 host CEF:0|NSD|NSDTransit2.0|1.0.0|1016|User auto export edit|0|dt=18.08.2022 10:18:26 edt=18.08.2022 10:18:26 prcid=18136 sts=Successfully suid=2 user=o1 src=127.0.0.1:50559 accid=362 accnum=40702840640004880161 diff=autoSaveBankLetter: False -> True, exportBankLetterFormats[0]: null -> OneC, exportBankLetterFormats[1]: null -> Pdf, autoSaveBankLetterPath: null -> C:/TT msg=Auto export for 40702840640004880161 was successfully edited

  • UserBankModuleEdit (1017) (severity=0) - Изменение настроек банковского модуля;

    Aug 18 2022 10:13:07 host CEF:0|NSD|NSDTransit2.0|1.0.0|1017|User bank module config edit|0|dt=18.08.2022 10:13:07 edt=18.08.2022 10:13:07 prcid=18136 sts=Successfully suid=2 user=o1 src=127.0.0.1:50559 bmid=Sberbank diff=BicDictionaryUsageEnable: False -> True msg=Bank module config for Sberbank was successfuly updated

  • UserSecurityEdit (1018) (severity=0) - Изменение настроек безопасности;

    Aug 18 2022 09:50:03 host CEF:0|NSD|NSDTransit2.0|1.0.0|1018|User security config edit|0|dt=18.08.2022 09:50:03 edt=18.08.2022 09:50:03 prcid=23976 sts=Successfully suid=2 user=o1 src=127.0.0.1:59922 diff=loginAttempts: 1 -> 2, web.logoutTimeout: null -> 0 msg=The security configuration has been successfully updated

  • UserOpdayEdit (1019) (severity=0) - Изменение настрок смены операционного дня;

    Aug 18 2022 10:12:31 host CEF:0|NSD|NSDTransit2.0|1.0.0|1019|User operation day edit|0|dt=18.08.2022 10:12:31 edt=18.08.2022 10:12:31 prcid=18136 sts=Successfully suid=2 user=o1 src=127.0.0.1:50559 msg=Operation day has been successfully changed to 10:13

  • UserArchivePathEdit (1020) (severity=0) - Изменение пути сохранения архива после очистки базы данных;

    Aug 18 2022 10:11:48 host CEF:0|NSD|NSDTransit2.0|1.0.0|1020|User archive path edit|0|dt=18.08.2022 10:11:48 edt=18.08.2022 10:11:48 prcid=18136 sts=Successfully suid=2 user=o1 src=127.0.0.1:50559 msg=Delete documents archive path has been successfully changed to C://TT2

  • UserLogoChange (1021) (severity=0) - Изменение логотипа; Aug 18 2022 10:11:23 host CEF:0|NSD|NSDTransit2.0|1.0.0|1021|User changed company logo|0|dt=18.08.2022 10:11:23 edt=18.08.2022 10:11:23 prcid=18136 sts=Successfully msg=Company logo has been successfully changed

  • UserAdminConfirmation (1022) (severity=0) - Подтверждение согласующим действия администратора;

    Aug 18 2022 10:20:17 host CEF:0|NSD|NSDTransit2.0|1.0.0|1022|User admin action confirm|0|dt=18.08.2022 10:20:17 edt=18.08.2022 10:20:17 prcid=18136 sts=Successfully suid=115 user=test src=127.0.0.1:50696 tgtuid=2 tgtuser=o1 msg=Confirmation id:674 of type UnassignApprover successfully executed

  • UserCertificateDelete (1023) (severity=0) - Удаление сертификата пользователя;

    Aug 18 2022 10:10:33 host CEF:0|NSD|NSDTransit2.0|1.0.0|1023|User deleted certificate|0|dt=18.08.2022 10:10:33 edt=18.08.2022 10:10:33 prcid=18136 sts=Successfully suid=2 user=o1 src=127.0.0.1:50559 sn=12005F01B3F42F552DD72295850001005F01B3 tgtuid=115 tgtuser=test msg=Certificate sn: 12005F01B3F42F552DD72295850001005F01B3 was successfully deleted for the user: test

Описание используемых параметров

Конфигурация веб-сервера

  • Параметр Web.ListenUrl задает url, по которому будет доступен Транзит 2.0 (по умолчанию localhost).

    Для доступа к Транзит 2.0 на другом ПК следует изменить localhost на доменное имя ПК или на его IP-адрес, при этом проверить в настройках, что по указанному порту (например, 8010) можно обращаться к данному ПК извне.

    Пример, если адрес ПК в сети 192.168.1.100, то в адресной строке для вызова Транзит 2.0 с другого ПК следует написать http://192.168.1.100:8010/.

  • Параметр Web.Title задает название экземпляра приложения.

  • Параметр Web.UpdateChannel задает канал для обновления версии. Возможные значения параметра: release | test | experimental | dev.

  • Параметр Web.PasswordLifetime задает время жизни пароля пользователей (в днях).

  • Параметр Web.PasswordNotificationTerm задает срок уведомления пользователя о смене пароля (в днях). Работает только при заданом PasswordLifetime.

  • Параметр Web.HttpsConfig задает настройку https.

Конфигурация требований к паролю

В конфигурационном файле можно задать требования к паролю. Используются следующие параметры:

  • Web.NumberOfOldPasswordsToCheck - устанавливает количество старых паролей для проверки. Сохранение вводимого пароля будет возможно только при условии, что он не совпадает ни с одним из предыдущих паролей (количество предыдущих паролей для сравнения устанавливается в искомом параметре);
  • Web.PasswordRequirements - содержит в себе вложенные параметры:
    • MinLength - устанаваливает минимальную длину пароля;
    • MaxLength - устанаваливает максимальную длину пароля;
    • NumberOfUppercaseCharacters - устанавливает требуемое количество символов в верхнем регистре;
    • NumberOfLowercaseCharacters - устанавливает требуемое количество символов в нижнем регистре;
    • NumberOfNumbers - устанавливает требуемое количество цифр в пароле;
    • NumberOfSpecialCharacters - устанавливает требуемое количество специальных символов в пароле;

Пример описания требований к паролю в конфигурационном файле приведено ниже:

{
  "Web": {
    ...,
    "NumberOfOldPasswordsToCheck": 3, 
    "PasswordRequirements": {
      "MinLength": 4,
      "MaxLength": 8,
      "NumberOfUppercaseCharacters": 1,
      "NumberOfLowercaseCharacters": 1,
      "NumberOfNumbers": 2,
      "NumberOfSpecialCharacters": 1
    }
  },
...
}

Конфигурация логирования

  • Параметр Log.MinLevel задает уровень логирования.

    Возможные значения (от минимального уровня к максимальному):

    • Error - логируются только ошибки, минимальный уровень логирования;
    • Warning - дополнительно логируются предупреждения;
    • Information - дополнительно логируются информационные сообщения;
    • Debug - логирование в режиме отладки, максимальный уровень логирования;

Конфигурация БД

  • Параметр Db.Path задает путь к файлу БД.
  • Параметр Db.ConnectionString определяет строку подключения к базе данных PostgreSQL.
  • Параметр Db.Password задает зашифрованный пароль. Если не указан, то не используется.

Используемые параметры для Транзит 2.0 и файлового шлюза

  • Параметр Transits[].OutboxPath определяет путь к папке OUTBOX Файлового шлюза, в которую помещаются пакеты для отправки.
  • Параметр Transits[].InboxPath определяет путь к папке INBOX Файлового шлюза, в которую приходят пакеты.
  • Параметр Transits[].SentPath определяет путь к папке SENT Файлового шлюза, в которую помещаются отправленные пакеты.
  • Параметр Transits[].ProcessedPath определяет путь к папке PRCSD Транзит 2.0, в которую перемещаются обработанные Транзит 2.0 пакеты отправленные или полученные Файловым шлюзом (далее ФШ).
  • Параметр Transits[].Doc1CPath определяет путь к папке Doc1C Транзит 2.0, в которую перемещаются импортированные 1С файлы.
  • Параметр Transits[].ErrorPath определяет путь к папке ERRORS ФШ, в которую перемещаются отклоненные ФШ при отправке пакеты.
  • Параметр Transits[].VerifyInboxFiles включает проверку ЭЦП на принятых файлах.
  • Параметр Transits[].PersonCode код депонента ЭДО НРД.
  • Параметр Transits[].WorkingDirectoryопределяет рабочую директорию.
  • Параметр IsFGateRest используется для настройки REST ФШ.
Прочее
  • Параметр OperationDay указывает дату операционного дня. Если дата не указана, по умолчанию в параметр записывается текущая дата.
  • Параметр OperationDayGap указывает количество дней до даты операционного дня, актуальных для запроса статуса ПП.
  • Параметр OpDayChangeTime указывает время, в которое будет осуществлено обновление операционного дня на текущий. Если параметр не указан, по умолчанию обновление операционного дня осуществляться не будет.
  • Параметр StatementAutoRequest имеет булевое значение и определяет, будет ли осуществляться автоматический запрос выписки.
  • Параметр UpdateFreq указывает частоту обновления в секундах статусов на вкладке Платежные Поручения. Если параметр не указан, по умолчанию считается равным 300 секунд (5 минут).
  • Параметр FilterPaymentsByOperationDay включает/выключает фильтрацию списка платежных поручений по текущему операционному дню.
  • Параметр FileTransferConfig.SftpDirectory задание конфигурации sftp клиента.
  • Параметр StatementAutoRequest используется для настройки автозапроса выписок.
  • Параметр MaxPhases устанавливает максимально допустимое количество фаз для модели подписания (если ключ отсутствует в конфигурационном файле, то по умолчанию берется значение 4).