Коммуникационный сервер
1. Назначение
Коммуникационный сервер версии 5 (далее СНК-КС5) – это распределённая система, предназначенная для обеспечения обмена данными в режиме реального времени между программными продуктами СНК: СНК-АЗС, СНК-Офис и СНК-ПЦ.
2. Требования к ПО
- «СНК-КС» - 5.2.0 и выше.
- «СНК-АЗС» - 1.37.37 и выше.
- «СНК-Офис» - 1.23.2 и выше.
- «СНК-ПЦ» - 1.113.30 и выше.
- Действующая лицензия «СНК-КС» на аппаратном или виртуальном HASP-ключе. Лицензия должна отображаться в программе «KeyInfo»
3. Информация и структурная схема

4. Установка СНК-КС-5
4.1. Установка на стороне СНК-АЗС
Установка СНК-КС5 выполняется при начальной инсталляции СНК-АЗС или при его обновлении, для этого необходимо в окне выбора продуктов для установки или обновления установить флажок «Коммуникационный сервер v5».
По умолчанию, каталог установки КС5 - .\SNC_AZS\exchange
Если при установке или обновлении установить флажок «Создание ярлыков на рабочем столе», то на рабочем столе появится ярлык «КС СНК АЗС», который будет запускать веб-интерфейс СНК-КС5 (http://localhost:8000/):
3. Запуск программы
Воспользуйтесь ярлыком «КС СНК АЗС» на рабочем столе или наберите в браузере localhost:8000
4. Интерфейс программы
Программа открывается в браузере и состоит из следующих элементов:
- Адресная строка - в ней должен быть набран адрес КС (на рисунке отмечено цифрой 1).
- Индикатор состояния подключения - показывает, есть ли связь с сервером обмена (на рисунке отмечено цифрой 2).
- Вкладки слева - переключение между вкладками с входящими и исходящими пакетами (на рисунке отмечено цифрой 3).
- Основное окно - список пакетов в выбранной вкладке, а также настройки (на рисунке отмечено цифрой 4).

5. Настройка параметров КС 5
5.1. Используя конфигурационный файл
Параметры настройки КС 5 сохранены в файле .\exchange\SncExchServer.cfg
Описание параметров:
- abonent.id – ID абонента (код абонента, для которого установлен КС5)
- archive.inbox.depth – Глубина хранения входящих пакетов, дней.
- archive.outbox.depth – Глубина хранения исходящих пакетов, дней.
- archive.packet.disable – Отключить сохранение пакетов в архив (true), сохранять – false
- auth.token – Токен, используется одинаковый токен для всех абонентов.
- http.port – Порт для обмена с ПО СНК (Бэк-офис, СНК-Офис, СНК-ПЦ). Этот же порт используется для запуска веб-интерфейса в браузере (порт по умолчанию - 8000)
- nats.host – IP адрес и порт сервера NATS. (порт по умолчанию - 7654)
- nats.timeout – таймаут обращения к серверу NATS, мс.
Для изменения параметров необходимо:
- остановить службу КС 5, (см. раздел «Службы», п.9).
- изменить и сохранить параметры в файле.
- запустить службу КС 5, (см. раздел «Службы», п.9).
5.2. Используя веб-интерфейс
Воспользуйтесь ярлыком «КС СНК АЗС» на рабочем столе или наберите в браузере localhost:8000
- Перейдите на страницу «Настройки», доступные параметры:
- ID абонента - код абонента, для которого установлен КС5 (abonent.id в п. 5.1)
- Глубина хранения входящих пакетов, дней – сколько дней хранить входящие пакеты (archive.inbox.depth в п. 5.1)
- Глубина хранения исходящих пакетов, дней – сколько дней хранить исходящие пакеты (archive.outbox.depth в п. 5.1)
- Не сохранять пакеты в архив – отметьте флажок, чтобы не хранить архивы пакетов (archive.packet.disable в п. 5.1)
- Токен – значение токена должно совпадать у всех абонентов, участвующих в обмене (auth.token в п. 5.1)
- Строка подключения – IP адрес и порт сервера NATS (nats.host в п. 5.1)
- Таймаут, мс. – таймаут обращения к серверу NATS (nats.timeout в п. 5.1)
- Нажмите кнопку «Сохранить» после изменения настроек.

6. Настройка СНК-АЗС для работы с КС 5
6.1. Настройка в программе «Бэк-Офис СНК-АЗС»
В «Бэк-Офис СНК-АЗС» необходимо добавить список абонентов, с которыми будет совершаться обмен, настроить тип передаваемых и принимаемых данных для этих абонентов (СНК-Офис или СНК-ПЦ) и выбрать версию КС, используемую для обмена данными для каждого абонента (КС 4 или КС 5).
6.1.1. Запуск окна настроек абонентов
- Запустите «Бэк-офис СНК-АЗС».
- В строке меню нажмите – «Обработка» - «Обмен данными» - «Настройка списка абонентов».
Откроется окно «Абоненты», здесь находится список абонентов, с которыми производится обмен данными.
6.1.2. Описание параметров таблицы абонентов
- Код абонента – код абонента, с которым производится обмен данными, код нельзя изменить у уже созданного абонента, его можно указать только при создании нового абонента.
- Имя – наименование абонента, не влияет на обмен, используется только для обозначения абонента в «Бэк-офисе».
- Тип данных – тип передаваемых абоненту данных («СНК-ПЦ» или «СНК-Офис»).
- Версия КС – версия КС, используемая абонентом для обмена данными («КС 4» или «КС 5»).
6.1.3. Настройка портов для связи «Бэк-Офиса» с КС
- Порт для КС 4 – порт, по которому «Бэк-офис» связывается с КС 4 (по умолчанию 6000).
- Порт для КС 5 – порт, по которому «Бэк-офис» связывается с КС 5 (по умолчанию 8000).
Для запуска веб-интерфейса КС 5, можно воспользоваться кнопкой «Открыть КС 5».
6.1.4. Добавление абонента
- В окне «Абоненты» нажмите правую кнопку мыши в любом свободном месте окна и выберите «Добавить».

- В строке «Добавить абонента» укажите код добавляемого абонента и нажмите кнопку «ОК».

В таблицу будет добавлена новая строка
- Заполните параметры Имя, Тип данных, Версия КС для созданного абонента (см. п. 6.1.2).
6.1.5. Удаление абонента
- Нажмите правую кнопку мыши на строке с абонентом и выберите «Удалить»

6.2. Настройка конфигурационного файла СНК-АЗС
Для работы «СНК-АЗС» с КС 5 необходимо настроить параметры в файле .\SNC_AZS\backofficeapp\bo_app.snc
Описание параметров для настройки работы с КС 5:
- TransactionOnOpenShift – передавать данные по текущей открытой смене (0 - не передавать, 1 - передавать)
- UseExchangeServer – использовать КС для передачи данных (0 - не использовать, 1 - использовать)
- ExchangeList – список абонентов с которыми обменивается СНК-АЗС и формат данных для обмена, заполняется автоматически, при настройке абонентов в «Бэк-Офисе» (см. п. 6.1)
- AutoReceiveData – автоматический прием полученных в КС данных в «Бэк-Офис» (0 – автоматический прием выключен, 1 - включен)
- AutoSendData – автоматически отправлять данные указанным абонентам в указанное время (-1,07:00;-1,08:00; (-1 – всем абонентам, 07:00 – время отправки данных))
- SendOpenShift – передача открытой смены в «СНК-Офис» (0 - не передавать, 1 - передавать)
- ExchangeSrvPortExt –порт для связи с КС 5 (значение параметра http.port из п.5.1)
7. Настройка СНК-Офис для работы с КС 5
7.1. Настройка конфигурационного файла СНК-Офис
Для работы «СНК-Офис» с КС 5 необходимо настроить параметры в файле .\SNC_OFFICE\bo_app.ini
Описание параметров для настройки работы с КС 5:
- UseExchangeServer – использовать КС для передачи данных (0 - не использовать, 1 - использовать)
- AutoReceiveData – автоматический прием полученных в КС данных (0 – автоматический прием выключен, 1 - включен)
- ExchangeSrvPortExt –порт для связи с КС 5 (значение параметра http.port из п.5.1)
7.2. Настройка формата передачи данных для ТО
Для каждой ТО необходимо выбрать версию КС, используемую ТО для обмена данными. Для этого:
- Откройте раздел «Справочники».
- Выберите «Точки обслуживания»
- На нужной ТО нажмите правой кнопкой мыши и выберите «Редактировать»

Откроется окно «Редактирование ТО».
- Перейдите на вкладку «Обмен данными».
- В параметре «Использовать СНК-КС» выберите «КС 5».
- Нажмите кнопку «ОК» для сохранения параметров.

8. Настройка СНК-ПЦ для работы с КС 5
В СНК-ПЦ зайдите в меню – «Настройка» – «Конфигурация».
В разделе «Приписка проекта» добавьте параметр «IP-Адрес:порт Коммуникационного Сервера - 5».

- Выберите заголовок проекта в конфигурации.
- Слева нажмите кнопку «Экспорт». Из выпавшего списка выберите «Импорт выборочных настроек (с пополнением)»

Откроется окно файлового проводника.
- Зайдите в каталог «sncPC» и выберите файл «IP-Адрес и порт КС5»
- Нажмите кнопку «Открыть»

- После добавления параметра укажите настройки КС5 в правом окне в строке «Значение» в формате ipv4:порт (например localhost:8000).
- Нажмите кнопку «Принять» и перезапустите ПЦ.
- После перезапуска ПЦ выберите в меню «Справочники» - «Точки обслуживания»

- Выберите нужную ТО и нажмите кнопку «Ограничения» слева.

- В открывшемся окне выберите строку «Настройка», и нажмите кнопку «Значения».

- В открывшемся окне раскройте раздел «Режим обмена данными», нажав на +.
- Флажок «Обмен СНК-КС ?» должен быть убран.
- Флажок «Обмен СНК-КС 5?» должен быть установлен.
- Нажмите кнопку «Принять»

9. Службы КС 5
Существуют отдельные службы КС 5 для различных продуктов СНК:
- Для «СНК-АЗС» - «СНК-Коммуникационный сервер v5» (sncexchservice)
- Для «СНК-Офис» - «СНК-Коммуникационный сервер v5 СНК-ОФИС» (sncexchservice.1000)
- Для «СНК-ПЦ» - «СНК-Коммуникационный сервер v5 СНК-ПЦ» (sncexchservice.500)
- Для «СНК-Офис Онлайн» - «СНК-ОФИС Онлайн прием КС v5» (sncexchprocessor)
- Служба сервера NATS – «СНК-Коммуникационный сервер v5 NATS» (nats-server)
10. Описание каталогов обмена
10.1. Каталоги обмена КС 5
Каталоги обмена КС 5 находятся в папке Data и сгруппированы по абонентам. Внутри папки Data находится папка с номером абонента, в которой находится папка Packet, в которой находятся папки обмена:
- Cache – для работы с принимаемым в данный момент пакетом.
- Inbox – для входящих пакетов, которые еще не приняты программами СНК.
- InboxArchive – архив входящих пакетов, сюда перемещаются пакеты из папки Inbox после их принятия в программу СНК.
- Outbox – для отправляемых в настоящее время пакетов.
- OutboxArchive – архив исходящих пакетов, сюда перемещаются пакеты из папки Outbox после их отправки другому абоненту.

10.2. Каталоги обмена в программах СНК
Каталоги обмена для «СНК-АЗС» находятся в папке SNC_AZS\backofficeapp.
Каталоги обмена для «СНК-Офис» находятся в папке SNC_OFFICE.
Описание каталогов:
- OCIN – для входящих пакетов
- OCIN_W – для входящих пакетов, переданных в формате «WIN»
- OCIN_W.err – для входящих пакетов, переданных в формате «WIN», в процессе распаковки которых произошли ошибки
- OCOUT_W – для исходящих пакетов, передаваемых в формате «WIN»