# Перекладчик

Перекладчик - это программное обеспечение (далее ПО), предназначенное для переноса файлов из системы клиента в интеграционный шлюз (далее ИШ) и обратно.

## ЮКБ

Установка
Структура файловой системы
Механика работы

## Росбанк

Установка
Структура файловой системы
Механика работы

### Установка для ЮКБ

Для установки Перекладчика необходимо совершить следующие действия:

1. Получить дистрибутив Перекладчика у специалистов Отдела продаж НРД.

2. Запустить SFTP-сервер. Например, Rebex (см. Рисунок 1).

3. Запустить командную строку под администратором: Меню Пуск -> Поиск -> cmd -> Запуск от имени администратора (см. Рисунок 2).

4. В командной строке перейти в каталог, в котором находится Перекладчик, при помощи команды `cd` (например, `cd C:\Temp\FileTransferUCB`). Затем ввести команду для инициализации конфигурации: `filetransferucb.exe init`(см. Рисунок 3).

5. В командной строке необходимо ввести следующие параметры для подключения к SFTP-серверу (см. Рисунок 4):
   - `SSH host` - хост
   - `SSH username` - имя пользователя
   - `SSH password` - пароль
   - `SSH private key file path` - папка, в которой хранится ключ
   - `SSH private key passphrase` - пароль ключа
   - `ABS directory` - папка АБС
   - `ABS file mask` - маска файла АБС
   - `FileGateway inbox directory` - папка для входящих файлов, документов
   - `FileGateway outbox directory` - папка для исходящих файлов, документов
   - `Processed files directory` - папка-хранилище для пришедших файлов, документов

ПО Перекладчик можно использовать без ключей, только с логином и паролем. Для этого необходимо не заполнять соответствующие параметры при инициализации конфигурации. Если файл конфигурации уже сгенерирован, следует удалить параметры `private key file path` и `private key passphrase` в `config.json`.

6. В результате будет сгенерирован файл `config.json`, в котором можно изменить параметры (см. Рисунок 5).

7. В командной строке ввести команду `filetransferucb.exe install-service` для установки Перекладчика (см. Рисунок 6).

8. После установки необходимо убедиться, что служба установлена: Меню Пуск -> Поиск -> Службы (см. Рисунок 7).

9. После установки необходимо создать для каждого клиента папки со следующей структурой (см. Рисунок 8):
   - ../clients/`номер_клиента`/`номер_клиента` - для входящих документов;
   - ../clients/`номер_клиента`/imbkrumm - для исходящих документов.

10. При подключении ИШ к ПО необходимо в настройках ИШ указать путь к рабочей папке `fgate` (см. Рисунок 9).

11. В результате в папке `fgate` будут созданы папки ИШ (см. Рисунок 10).

### Структура файловой системы (ЮКБ)

В папке Перекладчика -> UCB находятся папки `fgate` и `ft` (см. Рисунок 11).

Папка `fgate` предназначена для файлов ИШ и содержит в себе структуру папок ИШ:

- `ERRORS` - служит хранилищем для ошибочных файлов, некорректно принятых или отправленных.
- `inbox` - служит для получения файлов по Onyx от клиентов (платежные поручения, запросы на выписки). Файлы будут приходить в соответствующей структуре – два файла и две подписи.
- `outbox` - служит для отправки файлов клиентам (статусов по платежным поручениям, выписок).
- `REPCLIENTS` - служит для загрузки списка репозитарных участников в формате `.xml`, `.csv`.
- `SENT` - служит хранилищем для отправленных файлов из `outbox`.

Папка `ft` служит хранилищем для пришедших файлов, то есть когда приходит файл в папку ИШ `inbox` он автоматически перекладывается в папку `ft`.

Банк работает с папкой на стороне сервера `data`, в которой создана папка `clients`, а в ней папки по `номеру клиента` (соответствие деп.кода и кода клиента задается в файле `config.json` ПО). Внутри каждой папки по `номеру клиента` есть еще две папки `номер клиента` и `imbkrumm` (см. Рисунок 12).

В папку с `номером клиента` автоматически приходит файл поручение в формате `.xml`, для загрузки в АБС. В папку `imbkrumm` должны выкладываться файлы-статусы и выписки для отправки клиенту. Файлы `winf.xml` создаются автоматически Перекладчиком при переносе файлов из `imbkrumm` в `outbox` ИШ.

### Механика работы (ЮКБ)

Пример движения Платежного поручение (ПП) по папкам:

1. ПП приходит от клиента по Onyx в ИШ в папку `inbox`.
2. ПО Перекладчик перекладывает все содержимое папки в папку `ft` и отбирает файл `\*.xml`.
3. Затем Перекладчик перекладывает файл `\*.xml` в папку для АБС по соответствию код клиента = деп.код. Также, автоматически, в папку `outbox` выкладывается файл-квитанция о получении пакета для отправки на адрес клиента.
4. Из папки с `номером клиента` файл загружается в АБС (в АБС происходят различные проверки и по результатам могут выкладываться промежуточные статусы в папку `imbkrumm`: Принято, Проверены реквизиты и прочие).
5. Когда АБС генерирует финальный статус, он также выкладывается в папку `imbkrumm`.
6. ПО Перекладчик автоматически перекладывает файл с финальным статусом в папку для отправки (`outbox`) ИШ, генерируя к нему файл `winf.xml`.

Аналогичным образом происходит работа с выписками и запросами на выписку.

На рисунке 13 отображена таблица с сутью процесса и папками, в которые попадает файл.
fg = `fgate`, in = `номер клиента`, out = `imbkrumm`

### Установка для Росбанка

Для установки Перекладчика необходимо совершить следующие действия:

1. Получить дистрибутив Перекладчика у специалистов Отдела продаж НРД.

2. Изменить параметры в файле конфигурации `FileTransfer.exe.config`, если необходимо (см. Рисунок 14). По умолчанию прописаны следующие параметры:

   - Путь к директории INBOX Интеграционного шлюза: `c:\Temp\RB\fgate\inbox`
   - Путь к директории OUTBOX Интеграционного шлюза: `c:\Temp\RB\fgate\outbox`
   - Путь к директории для входящих в АБС файлов: `c:\Temp\RB\abs`
   - Фильтр для исходящих из АБС файлов: `*.enc`
   - Путь к директории с обработанными входящими файлами: `c:\Temp\RB\ft\prcsd`

3. Запустить файл `FileTransfer.exe` для установки ПО (см. Рисунок 15).

4. После установки в папке по умолчанию `С:\Temp\RB` появятся указанные в файле конфигурации директории (см. Рисунок 16).

5. При подключении ИШ к ПО необходимо в настройках ИШ указать путь к рабочей папке `fgate` (см. Рисунок 17).

11. В результате в папке `fgate` будут созданы папки ИШ (см. Рисунок 18).

### Структура файловой системы (Росбанк)

В папке Перекладчика -> RB находятся папки `abs`, `fgate`, `ft`, `logs` (см. Рисунок 19).

Банк работает с папкой `abs`, в которой созданы папки по `номеру клиента` (соответствие деп.кода и кода клиента задается в файле `FileTransfer.exe.config` ПО). Внутри каждой папки по `номеру клиента` есть еще две папки `номер клиента` и `OUT` (см. Рисунок 20).

В папку с `номером клиента` автоматически приходит файл поручение в формате `.xml`, для загрузки в АБС. В папку `OUT` должны выкладываться файлы-статусы и выписки для отправки клиенту. Файлы `winf.xml` создаются автоматически Перекладчиком при переносе файлов из `OUT` в `outbox` ИШ.

Папка `fgate` предназначена для файлов ИШ и содержит в себе структуру папок ИШ:

- `ERRORS` - служит хранилищем для ошибочных файлов, некорректно принятых или отправленных.
- `inbox` - служит для получения файлов по Onyx от клиентов (платежные поручения, запросы на выписки). Файлы будут приходить в соответствующей структуре – два файла и две подписи.
- `outbox` - служит для отправки файлов клиентам (статусов по платежным поручениям, выписок).
- `REPCLIENTS` - служит для загрузки списка репозитарных участников в формате `.xml`, `.csv`.
- `SENT` - служит хранилищем для отправленных файлов из `outbox`.

Папка `ft` служит хранилищем для пришедших файлов, то есть когда приходит файл в папку ИШ `inbox` он автоматически перекладывается в папку `ft\prcsd`.

Папка `logs` служит хранилищем для лог-файлов.

### Механика работы (Росбанк)

Пример движения Платежного поручение (ПП) по папкам:

1. ПП приходит от клиента по Onyx в ИШ в папку `inbox`.
2. ПО Перекладчик перекладывает все содержимое папки в папку `ft\prcsd` и отбирает файл `\*.xml`.
3. Затем Перекладчик перекладывает файл `\*.xml` в папку для АБС `abs\номер_клиента` по соответствию код клиента = деп.код. Также, автоматически, в папку `outbox` выкладывается файл-квитанция о получении пакета для отправки на адрес клиента.
4. Из папки с `номером клиента` файл загружается в АБС (в АБС происходят различные проверки и по результатам могут выкладываться промежуточные статусы в папку `OUT`: Принято, Проверены реквизиты и прочие).
5. Когда АБС генерирует финальный статус, он также выкладывается в папку `OUT`.
6. ПО Перекладчик автоматически перекладывает файл с финальным статусом в папку для отправки (`outbox`) ИШ, генерируя к нему файл `winf.xml`.

Аналогичным образом происходит работа с выписками и запросами на выписку.

На рисунке 21 отображена таблица с сутью процесса и папками, в которые попадает файл.
fg = `fgate`, cc = `номер клиента`, in = `номер клиента`, out = `OUT`