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

Версия 29.1 от Руслан Савельев на 2025/06/05 03:20

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