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

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