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

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

Последние авторы
1 = 1. Назначение =
2
3 Коммуникационный сервер версии 5 (далее СНК-КС5) – это распределённая система, предназначенная для обеспечения обмена данными в режиме реального времени между программными продуктами СНК: СНК-АЗС, СНК-Офис и СНК-ПЦ.
4
5 = 2. Требования к ПО =
6
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
15 [[image:1742371332756-574.png||data-xwiki-image-style-alignment="center" height="528" width="700"]]
16
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
33 = 3. Запуск программы =
34
35 [[image:1742371119337-637.png||data-xwiki-image-style-text-wrap="true" height="17" width="17"]]Воспользуйтесь ярлыком «**КС СНК АЗС**» на рабочем столе или наберите в браузере ##**localhost:8000**##
36
37 = 4. Интерфейс программы =
38
39 Программа открывается в браузере и состоит из следующих элементов:
40
41 * **Адресная строка** - в ней должен быть набран адрес КС //(на рисунке отмечено цифрой 1)//.
42 * **Индикатор состояния подключения** - показывает, есть ли связь с сервером обмена //(на рисунке отмечено цифрой 2)//.
43 * **Вкладки слева** - переключение между вкладками с входящими и исходящими пакетами //(на рисунке отмечено цифрой 3)//.
44 * **Основное окно** - список пакетов в выбранной вкладке, а также настройки //(на рисунке отмечено цифрой 4)//.
45
46 [[image:1742373742661-488.png||data-xwiki-image-style-alignment="center" height="437" width="600"]]
47
48 = 5. Настройка параметров КС 5 =
49
50 == 5.1. Используя конфигурационный файл ==
51
52 Параметры настройки КС 5 сохранены в файле **##.\exchange\SncExchServer.cfg##**
53
54 Описание параметров:
55
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, мс.
64
65 **Для изменения параметров** необходимо:
66
67 * **остановить службу** КС 5, (см. раздел «Службы», п.9).
68 * **изменить и сохранить параметры** в файле.
69 * **запустить службу** КС 5, (см. раздел «Службы», п.9).
70
71 == 5.2. Используя веб-интерфейс ==
72
73 Воспользуйтесь ярлыком «**КС СНК АЗС**» на рабочем столе или наберите в браузере ##**localhost:8000**##
74
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
85 [[image:1742374859311-606.png||data-xwiki-image-style-alignment="center" height="355" width="600"]]
86
87 = 6. Настройка СНК-АЗС для работы с КС 5 =
88
89 == 6.1. Настройка в программе «Бэк-Офис СНК-АЗС» ==
90
91 В «[[Бэк-Офис СНК-АЗС>>doc:Prilozheniia_SNK.SNK-AZS.Bek-ofis_SNK-AZS.WebHome]]» необходимо добавить список абонентов, с которыми будет совершаться обмен, настроить тип передаваемых и принимаемых данных для этих абонентов (СНК-Офис или СНК-ПЦ) и выбрать версию КС, используемую для обмена данными для каждого абонента (КС 4 или КС 5).
92
93 **6.1.1. Запуск окна настроек абонентов**
94
95 * Запустите «[[**Бэк-офис СНК-АЗС**>>doc:Prilozheniia_SNK.SNK-AZS.Bek-ofis_SNK-AZS.WebHome]]».
96 * В строке меню нажмите – «**Обработка**» - «**Обмен данными**» - «**Настройка списка абонентов»**.
97
98 [[image:1742375086353-686.png||data-xwiki-image-style-alignment="center" height="184" width="500"]]Откроется окно «**Абоненты**», здесь находится список абонентов, с которыми производится обмен данными.
99
100 **6.1.2. Описание параметров таблицы абонентов**
101
102 * **Код абонента** – код абонента, с которым производится обмен данными, код нельзя изменить у уже созданного абонента, его можно указать только при создании нового абонента.
103 * **Имя **– наименование абонента, не влияет на обмен, используется только для обозначения абонента в «Бэк-офисе».
104 * **Тип данных** – тип передаваемых абоненту данных («СНК-ПЦ» или «СНК-Офис»).
105 * **Версия КС** – версия КС, используемая абонентом для обмена данными («КС 4» или «КС 5»).
106
107 [[image:1742375171694-926.png||data-xwiki-image-style-alignment="center" height="291" width="500"]]**6.1.3. Настройка портов для связи «Бэк-Офиса» с КС**
108
109 * **Порт для КС 4** – порт, по которому «Бэк-офис» связывается с КС 4 (по умолчанию 6000).
110 * **Порт для КС 5** – порт, по которому «Бэк-офис» связывается с КС 5 (по умолчанию 8000).
111
112 Для запуска веб-интерфейса КС 5, можно воспользоваться кнопкой «**Открыть КС 5**».
113
114 (% class="box infomessage" %)
115 (((
116 **Внимание!**
117 В настройках КС 5 должен быть указан тот же номер порта, что и в «Бэк-офисе» (параметр http.port в файле SncExchServer.cfg, см. п. 5.1).
118 )))
119
120 **6.1.4. Добавление абонента**
121
122 * В окне «**Абоненты**» нажмите правую кнопку мыши в любом свободном месте окна и выберите «**Добавить**».
123
124 [[image:1742375331377-333.png||data-xwiki-image-style-alignment="center" height="291" width="500"]]
125
126 * В строке «**Добавить абонента**» укажите код добавляемого абонента и нажмите кнопку «**ОК**».
127
128 [[image:1742375383319-279.png||data-xwiki-image-style-alignment="center" height="291" width="500"]]
129
130 В таблицу будет добавлена новая строка
131
132 * Заполните параметры **Имя**, **Тип данных**, **Версия КС** для созданного абонента (см. п. 6.1.2).
133
134 [[image:1742375454496-878.png||data-xwiki-image-style-alignment="center" height="291" width="500"]]**6.1.5. Удаление абонента**
135
136 * Нажмите правую кнопку мыши на строке с абонентом и выберите «**Удалить**»
137
138 [[image:1742375709359-919.png||data-xwiki-image-style-alignment="center" height="291" width="500"]]
139
140 == 6.2. Настройка конфигурационного файла СНК-АЗС ==
141
142 Для работы «СНК-АЗС» с КС 5 необходимо настроить параметры в файле## .\SNC_AZS\backofficeapp\**bo_app.snc**##
143
144 (% class="box infomessage" %)
145 (((
146 **Внимание!**
147 Закройте все программы «СНК-АЗС» и «Бэк-Офис» перед внесением изменений!
148 )))
149
150 Описание параметров для настройки работы с КС 5:
151
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)
159
160 = 7. Настройка СНК-Офис для работы с КС 5 =
161
162 == 7.1. Настройка конфигурационного файла СНК-Офис ==
163
164 Для работы «СНК-Офис» с КС 5 необходимо настроить параметры в файле ##.\SNC_OFFICE\**bo_app.ini**##
165
166 (% class="box infomessage" %)
167 (((
168 **Внимание!**
169 Закройте программу «СНК-Офис» перед внесением изменений!
170 )))
171
172 Описание параметров для настройки работы с КС 5:
173
174 * **UseExchangeServer** – использовать КС для передачи данных (0 - не использовать, **1 - использовать**)
175 * **AutoReceiveData** – автоматический прием полученных в КС данных (0 – автоматический прием выключен, **1 - включен**)
176 * **ExchangeSrvPortExt** –порт для связи с КС 5 (значение параметра **http.port** из п.5.1)
177
178 == 7.2. Настройка формата передачи данных для ТО ==
179
180 Для каждой ТО необходимо выбрать версию КС, используемую ТО для обмена данными. Для этого:
181
182 * Откройте раздел «**Справочники**».
183 * Выберите «**Точки обслуживания**»
184 * На нужной ТО нажмите правой кнопкой мыши и выберите «**Редактировать**»
185
186 [[image:1742376031179-997.png||data-xwiki-image-style-alignment="center" height="312" width="600"]]
187
188 Откроется окно «**Редактирование ТО**».
189
190 * Перейдите на вкладку «**Обмен данными**».
191 * В параметре «**Использовать СНК-КС**» выберите «**КС 5**».
192 * Нажмите кнопку «**ОК**» для сохранения параметров.
193
194 [[image:1742376080218-224.png||data-xwiki-image-style-alignment="center" height="440" width="350"]]
195
196 = 8. Настройка СНК-ПЦ для работы с КС 5 =
197
198 В СНК-ПЦ зайдите в меню – «**Настройка**» – «**Конфигурация**».
199
200 В разделе «**Приписка проекта**» добавьте параметр «**IP-Адрес:порт Коммуникационного Сервера - 5**».
201
202 [[image:1742376299785-470.png||data-xwiki-image-style-alignment="center" height="333" width="700"]]
203
204 * Выберите заголовок проекта в конфигурации.
205 * Слева нажмите кнопку «**Экспорт**». Из выпавшего списка выберите «Импорт выборочных настроек (с пополнением)»
206
207 [[image:1742376339853-759.png||data-xwiki-image-style-alignment="center" height="332" width="700"]]
208
209 Откроется окно файлового проводника.
210
211 * Зайдите в каталог «**sncPC**» и выберите файл «**IP-Адрес и порт КС5**»
212 * Нажмите кнопку «**Открыть**»
213
214 [[image:1742376379869-231.png||data-xwiki-image-style-alignment="center" height="520" width="700"]]
215
216 * После добавления параметра укажите настройки КС5 в правом окне в строке «**Значение**» в формате ##ipv4:порт## (например ##localhost:8000##).
217 * Нажмите кнопку «**Принять**» и перезапустите ПЦ.
218 * После перезапуска ПЦ выберите в меню «**Справочники**» - «**Точки обслуживания**»
219
220 [[image:1742376449142-544.png||data-xwiki-image-style-alignment="center" height="353" width="700"]]
221
222 * Выберите нужную ТО и нажмите кнопку «**Ограничения**» слева.
223
224 [[image:1742376495608-296.png||data-xwiki-image-style-alignment="center" height="327" width="700"]]
225
226 * В открывшемся окне выберите строку «**Настройка**», и нажмите кнопку «**Значения**».
227
228 [[image:1742376541541-400.png||data-xwiki-image-style-alignment="center" height="256" width="700"]]
229
230 * В открывшемся окне раскройте раздел «Режим обмена данными», нажав на **+**.
231 * Флажок «**Обмен СНК-КС ?**» должен быть **убран**.
232 * Флажок «**Обмен СНК-КС 5?**» должен быть **установлен**.
233 * Нажмите кнопку «**Принять**»
234
235 [[image:1742376578109-329.png||data-xwiki-image-style-alignment="center" height="362" width="500"]]
236
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
278
279