Исходный код вики Коммуникационный сервер

Версия 25.2 от Руслан Савельев на 2025/04/09 09:22

Скрыть последних авторов
Руслан Савельев 4.2 1 = 1. Назначение =
Руслан Савельев 1.1 2
Руслан Савельев 2.2 3 Коммуникационный сервер версии 5 (далее СНК-КС5) – это распределённая система, предназначенная для обеспечения обмена данными в режиме реального времени между программными продуктами СНК: СНК-АЗС, СНК-Офис и СНК-ПЦ.
Руслан Савельев 1.1 4
Руслан Савельев 23.2 5 = 2. Требования к ПО =
Руслан Савельев 1.1 6
Руслан Савельев 23.2 7 * «СНК-КС» - 5.2.0 и выше.
8 * «СНК-АЗС» - 1.37.37 и выше.
9 * «СНК-Офис» - 1.23.2 и выше.
10 * «СНК-ПЦ» - 1.113.30 и выше.
11 * Действующая лицензия «СНК-КС» на аппаратном или виртуальном HASP-ключе. Лицензия должна отображаться в программе «[[KeyInfo>>doc:Prilozheniia_SNK.SNK-AZS.Informatsiia_po_kliucham_HASP_SNK-AZS.WebHome]]»
12
13 = 3. Информация и структурная схема =
14
Руслан Савельев 3.2 15 [[image:1742371332756-574.png||data-xwiki-image-style-alignment="center" height="528" width="700"]]
16
Руслан Савельев 23.2 17 = 4. Установка СНК-КС-5 =
18
19 == 4.1. Установка на стороне СНК-АЗС ==
20
21 Установка СНК-КС5 выполняется при начальной инсталляции СНК-АЗС или при его обновлении, для этого необходимо в окне выбора продуктов для установки или обновления установить флажок «Коммуникационный сервер v5».
22 По умолчанию, каталог установки КС5 - ##.\SNC_AZS\exchange##
23
24 [[image:1744190452407-288.png||data-xwiki-image-style-alignment="center"]]Если при установке или обновлении установить флажок «Создание ярлыков на рабочем столе», то на рабочем столе появится ярлык «КС СНК АЗС», который будет запускать веб-интерфейс СНК-КС5 (##http:~/~/localhost:8000/##):
25
26
27
28
29
30
31
32
Руслан Савельев 4.2 33 = 3. Запуск программы =
Руслан Савельев 3.2 34
Руслан Савельев 2.2 35 [[image:1742371119337-637.png||data-xwiki-image-style-text-wrap="true" height="17" width="17"]]Воспользуйтесь ярлыком «**КС СНК АЗС**» на рабочем столе или наберите в браузере ##**localhost:8000**##
Руслан Савельев 1.1 36
Руслан Савельев 4.2 37 = 4. Интерфейс программы =
Руслан Савельев 1.1 38
Руслан Савельев 4.2 39 Программа открывается в браузере и состоит из следующих элементов:
Руслан Савельев 1.1 40
Руслан Савельев 4.2 41 * **Адресная строка** - в ней должен быть набран адрес КС //(на рисунке отмечено цифрой 1)//.
42 * **Индикатор состояния подключения** - показывает, есть ли связь с сервером обмена //(на рисунке отмечено цифрой 2)//.
43 * **Вкладки слева** - переключение между вкладками с входящими и исходящими пакетами //(на рисунке отмечено цифрой 3)//.
44 * **Основное окно** - список пакетов в выбранной вкладке, а также настройки //(на рисунке отмечено цифрой 4)//.
Руслан Савельев 1.1 45
Руслан Савельев 4.2 46 [[image:1742373742661-488.png||data-xwiki-image-style-alignment="center" height="437" width="600"]]
Руслан Савельев 1.1 47
Руслан Савельев 4.2 48 = 5. Настройка параметров КС 5 =
Руслан Савельев 1.1 49
Руслан Савельев 5.2 50 == 5.1. Используя конфигурационный файл ==
Руслан Савельев 1.1 51
Руслан Савельев 5.2 52 Параметры настройки КС 5 сохранены в файле **##.\exchange\SncExchServer.cfg##**
Руслан Савельев 1.1 53
Руслан Савельев 5.2 54 Описание параметров:
Руслан Савельев 1.1 55
Руслан Савельев 5.2 56 * **abonent.id** – ID абонента (код абонента, для которого установлен КС5)
57 * **archive.inbox.depth** – Глубина хранения входящих пакетов, дней.
58 * **archive.outbox.depth** – Глубина хранения исходящих пакетов, дней.
59 * **archive.packet.disable** – Отключить сохранение пакетов в архив (true), сохранять – false
60 * **auth.token** – Токен, используется одинаковый токен для всех абонентов.
61 * **http.port** – Порт для обмена с ПО СНК (Бэк-офис, СНК-Офис, СНК-ПЦ). Этот же порт используется для запуска веб-интерфейса в браузере (порт по умолчанию - 8000)
62 * **nats.host** – IP адрес и порт сервера NATS. (порт по умолчанию - 7654)
63 * **nats.timeout** – таймаут обращения к серверу NATS, мс.
Руслан Савельев 1.1 64
Руслан Савельев 5.2 65 **Для изменения параметров** необходимо:
Руслан Савельев 1.1 66
Руслан Савельев 5.2 67 * **остановить службу** КС 5, (см. раздел «Службы», п.9).
68 * **изменить и сохранить параметры** в файле.
69 * **запустить службу** КС 5, (см. раздел «Службы», п.9).
Руслан Савельев 1.1 70
Руслан Савельев 5.2 71 == 5.2. Используя веб-интерфейс ==
Руслан Савельев 1.1 72
Руслан Савельев 5.2 73 Воспользуйтесь ярлыком «**КС СНК АЗС**» на рабочем столе или наберите в браузере ##**localhost:8000**##
Руслан Савельев 4.2 74
Руслан Савельев 5.2 75 * Перейдите на страницу «Настройки», доступные параметры:
76 ** **ID абонента** - код абонента, для которого установлен КС5 (abonent.id в п. 5.1)
77 ** **Глубина хранения входящих пакетов, дней** – сколько дней хранить входящие пакеты (archive.inbox.depth в п. 5.1)
78 ** **Глубина хранения исходящих пакетов, дней** – сколько дней хранить исходящие пакеты (archive.outbox.depth в п. 5.1)
79 ** **Не сохранять пакеты в архив** – отметьте флажок, чтобы не хранить архивы пакетов (archive.packet.disable в п. 5.1)
80 ** **Токен **– значение токена должно совпадать у всех абонентов, участвующих в обмене (auth.token в п. 5.1)
81 ** **Строка подключения** – IP адрес и порт сервера NATS (nats.host в п. 5.1)
82 ** **Таймаут, мс.** – таймаут обращения к серверу NATS (nats.timeout в п. 5.1)
83 * Нажмите кнопку «**Сохранить**» после изменения настроек.
84
Руслан Савельев 6.2 85 [[image:1742374859311-606.png||data-xwiki-image-style-alignment="center" height="355" width="600"]]
Руслан Савельев 5.2 86
Руслан Савельев 7.2 87 = 6. Настройка СНК-АЗС для работы с КС 5 =
Руслан Савельев 5.2 88
Руслан Савельев 7.2 89 == 6.1. Настройка в программе «Бэк-Офис СНК-АЗС» ==
Руслан Савельев 5.2 90
Руслан Савельев 7.2 91 В «[[Бэк-Офис СНК-АЗС>>doc:Prilozheniia_SNK.SNK-AZS.Bek-ofis_SNK-AZS.WebHome]]» необходимо добавить список абонентов, с которыми будет совершаться обмен, настроить тип передаваемых и принимаемых данных для этих абонентов (СНК-Офис или СНК-ПЦ) и выбрать версию КС, используемую для обмена данными для каждого абонента (КС 4 или КС 5).
Руслан Савельев 5.2 92
Руслан Савельев 7.2 93 **6.1.1. Запуск окна настроек абонентов**
Руслан Савельев 5.2 94
Руслан Савельев 7.2 95 * Запустите «[[**Бэк-офис СНК-АЗС**>>doc:Prilozheniia_SNK.SNK-AZS.Bek-ofis_SNK-AZS.WebHome]]».
96 * В строке меню нажмите – «**Обработка**» - «**Обмен данными**» - «**Настройка списка абонентов»**.
Руслан Савельев 5.2 97
Руслан Савельев 7.2 98 [[image:1742375086353-686.png||data-xwiki-image-style-alignment="center" height="184" width="500"]]Откроется окно «**Абоненты**», здесь находится список абонентов, с которыми производится обмен данными.
Руслан Савельев 5.2 99
Руслан Савельев 7.2 100 **6.1.2. Описание параметров таблицы абонентов**
Руслан Савельев 5.2 101
Руслан Савельев 8.2 102 * **Код абонента** – код абонента, с которым производится обмен данными, код нельзя изменить у уже созданного абонента, его можно указать только при создании нового абонента.
103 * **Имя **– наименование абонента, не влияет на обмен, используется только для обозначения абонента в «Бэк-офисе».
104 * **Тип данных** – тип передаваемых абоненту данных («СНК-ПЦ» или «СНК-Офис»).
105 * **Версия КС** – версия КС, используемая абонентом для обмена данными («КС 4» или «КС 5»).
Руслан Савельев 5.2 106
Руслан Савельев 11.2 107 [[image:1742375171694-926.png||data-xwiki-image-style-alignment="center" height="291" width="500"]]**6.1.3. Настройка портов для связи «Бэк-Офиса» с КС**
Руслан Савельев 5.2 108
Руслан Савельев 11.2 109 * **Порт для КС 4** – порт, по которому «Бэк-офис» связывается с КС 4 (по умолчанию 6000).
110 * **Порт для КС 5** – порт, по которому «Бэк-офис» связывается с КС 5 (по умолчанию 8000).
Руслан Савельев 5.2 111
Руслан Савельев 11.2 112 Для запуска веб-интерфейса КС 5, можно воспользоваться кнопкой «**Открыть КС 5**».
Руслан Савельев 5.2 113
Руслан Савельев 11.2 114 (% class="box infomessage" %)
115 (((
116 **Внимание!**
117 В настройках КС 5 должен быть указан тот же номер порта, что и в «Бэк-офисе» (параметр http.port в файле SncExchServer.cfg, см. п. 5.1).
118 )))
Руслан Савельев 5.2 119
Руслан Савельев 11.2 120 **6.1.4. Добавление абонента**
Руслан Савельев 5.2 121
Руслан Савельев 11.2 122 * В окне «**Абоненты**» нажмите правую кнопку мыши в любом свободном месте окна и выберите «**Добавить**».
Руслан Савельев 5.2 123
Руслан Савельев 11.2 124 [[image:1742375331377-333.png||data-xwiki-image-style-alignment="center" height="291" width="500"]]
Руслан Савельев 5.2 125
Руслан Савельев 11.2 126 * В строке «**Добавить абонента**» укажите код добавляемого абонента и нажмите кнопку «**ОК**».
Руслан Савельев 5.2 127
Руслан Савельев 11.2 128 [[image:1742375383319-279.png||data-xwiki-image-style-alignment="center" height="291" width="500"]]
Руслан Савельев 5.2 129
Руслан Савельев 11.2 130 В таблицу будет добавлена новая строка
Руслан Савельев 5.2 131
Руслан Савельев 11.2 132 * Заполните параметры **Имя**, **Тип данных**, **Версия КС** для созданного абонента (см. п. 6.1.2).
Руслан Савельев 5.2 133
Руслан Савельев 12.2 134 [[image:1742375454496-878.png||data-xwiki-image-style-alignment="center" height="291" width="500"]]**6.1.5. Удаление абонента**
Руслан Савельев 11.2 135
Руслан Савельев 12.2 136 * Нажмите правую кнопку мыши на строке с абонентом и выберите «**Удалить**»
Руслан Савельев 11.2 137
Руслан Савельев 12.2 138 [[image:1742375709359-919.png||data-xwiki-image-style-alignment="center" height="291" width="500"]]
Руслан Савельев 11.2 139
Руслан Савельев 12.2 140 == 6.2. Настройка конфигурационного файла СНК-АЗС ==
Руслан Савельев 11.2 141
Руслан Савельев 23.2 142 Для работы «СНК-АЗС» с КС 5 необходимо настроить параметры в файле## .\SNC_AZS\backofficeapp\**bo_app.snc**##
Руслан Савельев 11.2 143
Руслан Савельев 12.2 144 (% class="box infomessage" %)
145 (((
146 **Внимание!**
147 Закройте все программы «СНК-АЗС» и «Бэк-Офис» перед внесением изменений!
148 )))
Руслан Савельев 11.2 149
Руслан Савельев 12.2 150 Описание параметров для настройки работы с КС 5:
Руслан Савельев 11.2 151
Руслан Савельев 12.2 152 * **TransactionOnOpenShift** – передавать данные по текущей открытой смене (0 - не передавать, **1 - передавать**)
153 * **UseExchangeServer** – использовать КС для передачи данных (0 - не использовать, **1 - использовать**)
154 * **ExchangeList** – список абонентов с которыми обменивается СНК-АЗС и формат данных для обмена, заполняется автоматически, при настройке абонентов в «Бэк-Офисе» (см. п. 6.1)
155 * **AutoReceiveData** – автоматический прием полученных в КС данных в «Бэк-Офис» (0 – автоматический прием выключен, **1 - включен**)
156 * **AutoSendData** – автоматически отправлять данные указанным абонентам в указанное время (-1,07:00;-1,08:00; (-1 – всем абонентам, 07:00 – время отправки данных))
157 * **SendOpenShift** – передача открытой смены в «СНК-Офис» (0 - не передавать, **1 - передавать**)
158 * **ExchangeSrvPortExt** –порт для связи с КС 5 (значение параметра **http.port** из п.5.1)
Руслан Савельев 11.2 159
Руслан Савельев 13.2 160 = 7. Настройка СНК-Офис для работы с КС 5 =
Руслан Савельев 11.2 161
Руслан Савельев 13.2 162 == 7.1. Настройка конфигурационного файла СНК-Офис ==
Руслан Савельев 11.2 163
Руслан Савельев 13.2 164 Для работы «СНК-Офис» с КС 5 необходимо настроить параметры в файле ##.\SNC_OFFICE\**bo_app.ini**##
Руслан Савельев 11.2 165
Руслан Савельев 13.2 166 (% class="box infomessage" %)
167 (((
168 **Внимание!**
169 Закройте программу «СНК-Офис» перед внесением изменений!
170 )))
Руслан Савельев 12.2 171
Руслан Савельев 13.2 172 Описание параметров для настройки работы с КС 5:
Руслан Савельев 12.2 173
Руслан Савельев 13.2 174 * **UseExchangeServer** – использовать КС для передачи данных (0 - не использовать, **1 - использовать**)
175 * **AutoReceiveData** – автоматический прием полученных в КС данных (0 – автоматический прием выключен, **1 - включен**)
176 * **ExchangeSrvPortExt** –порт для связи с КС 5 (значение параметра **http.port** из п.5.1)
Руслан Савельев 12.2 177
Руслан Савельев 13.2 178 == 7.2. Настройка формата передачи данных для ТО ==
Руслан Савельев 12.2 179
Руслан Савельев 13.2 180 Для каждой ТО необходимо выбрать версию КС, используемую ТО для обмена данными. Для этого:
Руслан Савельев 12.2 181
Руслан Савельев 13.2 182 * Откройте раздел «**Справочники**».
183 * Выберите «**Точки обслуживания**»
184 * На нужной ТО нажмите правой кнопкой мыши и выберите «**Редактировать**»
Руслан Савельев 12.2 185
Руслан Савельев 13.2 186 [[image:1742376031179-997.png||data-xwiki-image-style-alignment="center" height="312" width="600"]]
Руслан Савельев 12.2 187
Руслан Савельев 15.2 188 Откроется окно «**Редактирование ТО**».
Руслан Савельев 12.2 189
Руслан Савельев 13.2 190 * Перейдите на вкладку «**Обмен данными**».
191 * В параметре «**Использовать СНК-КС**» выберите «**КС 5**».
192 * Нажмите кнопку «**ОК**» для сохранения параметров.
Руслан Савельев 12.2 193
Руслан Савельев 14.2 194 [[image:1742376080218-224.png||data-xwiki-image-style-alignment="center" height="440" width="350"]]
Руслан Савельев 12.2 195
Руслан Савельев 15.2 196 = 8. Настройка СНК-ПЦ для работы с КС 5 =
Руслан Савельев 12.2 197
Руслан Савельев 15.2 198 В СНК-ПЦ зайдите в меню – «**Настройка**» – «**Конфигурация**».
Руслан Савельев 12.2 199
Руслан Савельев 15.2 200 В разделе «**Приписка проекта**» добавьте параметр «**IP-Адрес:порт Коммуникационного Сервера - 5**».
Руслан Савельев 12.2 201
Руслан Савельев 15.2 202 [[image:1742376299785-470.png||data-xwiki-image-style-alignment="center" height="333" width="700"]]
Руслан Савельев 13.2 203
Руслан Савельев 16.2 204 * Выберите заголовок проекта в конфигурации.
205 * Слева нажмите кнопку «**Экспорт**». Из выпавшего списка выберите «Импорт выборочных настроек (с пополнением)»
Руслан Савельев 13.2 206
Руслан Савельев 16.2 207 [[image:1742376339853-759.png||data-xwiki-image-style-alignment="center" height="332" width="700"]]
Руслан Савельев 13.2 208
Руслан Савельев 16.2 209 Откроется окно файлового проводника.
Руслан Савельев 13.2 210
Руслан Савельев 16.2 211 * Зайдите в каталог «**sncPC**» и выберите файл «**IP-Адрес и порт КС5**»
212 * Нажмите кнопку «**Открыть**»
Руслан Савельев 14.2 213
Руслан Савельев 18.2 214 [[image:1742376379869-231.png||data-xwiki-image-style-alignment="center" height="520" width="700"]]
Руслан Савельев 14.2 215
Руслан Савельев 18.2 216 * После добавления параметра укажите настройки КС5 в правом окне в строке «**Значение**» в формате ##ipv4:порт## (например ##localhost:8000##).
217 * Нажмите кнопку «**Принять**» и перезапустите ПЦ.
218 * После перезапуска ПЦ выберите в меню «**Справочники**» - «**Точки обслуживания**»
Руслан Савельев 14.2 219
Руслан Савельев 18.2 220 [[image:1742376449142-544.png||data-xwiki-image-style-alignment="center" height="353" width="700"]]
Руслан Савельев 14.2 221
Руслан Савельев 18.2 222 * Выберите нужную ТО и нажмите кнопку «**Ограничения**» слева.
Руслан Савельев 14.2 223
Руслан Савельев 19.2 224 [[image:1742376495608-296.png||data-xwiki-image-style-alignment="center" height="327" width="700"]]
Руслан Савельев 14.2 225
Руслан Савельев 19.2 226 * В открывшемся окне выберите строку «**Настройка**», и нажмите кнопку «**Значения**».
Руслан Савельев 14.2 227
Руслан Савельев 22.1 228 [[image:1742376541541-400.png||data-xwiki-image-style-alignment="center" height="256" width="700"]]
Руслан Савельев 14.2 229
Руслан Савельев 22.1 230 * В открывшемся окне раскройте раздел «Режим обмена данными», нажав на **+**.
231 * Флажок «**Обмен СНК-КС ?**» должен быть **убран**.
232 * Флажок «**Обмен СНК-КС 5?**» должен быть **установлен**.
233 * Нажмите кнопку «**Принять**»
Руслан Савельев 14.2 234
Руслан Савельев 22.1 235 [[image:1742376578109-329.png||data-xwiki-image-style-alignment="center" height="362" width="500"]]
Руслан Савельев 14.2 236
Руслан Савельев 5.2 237 = 9. Службы КС 5 =
238
239 Существуют отдельные службы КС 5 для различных продуктов СНК:
240
241 * Для «**СНК-АЗС**» - «**СНК-Коммуникационный сервер v5**» (sncexchservice)
242 * Для «**СНК-Офис**» - «**СНК-Коммуникационный сервер v5 СНК-ОФИС**» (sncexchservice.1000)
243 * Для «**СНК-ПЦ**» - «**СНК-Коммуникационный сервер v5 СНК-ПЦ**» (sncexchservice.500)
244 * Для «**СНК-Офис Онлайн**» - «**СНК-ОФИС Онлайн прием КС v5**» (sncexchprocessor)
245 * **Служба сервера NATS** – «**СНК-Коммуникационный сервер v5 NATS**» (nats-server)
246
247 = 10. Описание каталогов обмена =
248
249 == 10.1. Каталоги обмена КС 5 ==
250
251 Каталоги обмена КС 5 находятся в папке ##**Data**## и сгруппированы по абонентам. Внутри папки ##**Data**## находится папка с номером абонента, в которой находится папка ##**Packet**##, в которой находятся папки обмена:
252
253 * ##**Cache**## – для работы с принимаемым в данный момент пакетом.
254 * ##**Inbox**## – для входящих пакетов, которые еще не приняты программами СНК.
255 * ##**InboxArchive**## – архив входящих пакетов, сюда перемещаются пакеты из папки Inbox после их принятия в программу СНК.
256 * ##**Outbox**## – для отправляемых в настоящее время пакетов.
257 * ##**OutboxArchive**## – архив исходящих пакетов, сюда перемещаются пакеты из папки Outbox после их отправки другому абоненту.
258
259 [[image:1742374549161-794.png||data-xwiki-image-style-alignment="center"]]
260
261 == 10.2. Каталоги обмена в программах СНК ==
262
263 Каталоги обмена для «СНК-АЗС» находятся в папке **##SNC_AZS\backofficeapp##**.
264
265 Каталоги обмена для «СНК-Офис» находятся в папке **##SNC_OFFICE##**.
266
267 Описание каталогов:
268
269 * ##**OCIN**## – для входящих пакетов
270 * ##**OCIN_W**## – для входящих пакетов, переданных в формате «WIN»
271 * ##**OCIN_W.err**## – для входящих пакетов, переданных в формате «WIN», в процессе распаковки которых произошли ошибки
272 * ##**OCOUT_W**## – для исходящих пакетов, передаваемых в формате «WIN»
273
274
275
276
277
Руслан Савельев 1.1 278