Идея написания данной программы возникла после внедрения в нашу розничную сеть торговлей алкогольной продукцией (АП) системы ЕГАИС.
Задача такова. У нас имеется сеть розничных магазинов с установленнными УТМ и ОС Windows. Было решено, что подтверждение, отказ или расхождение закупок АП производится не в самом магазине оператором, приемщиком или продавцом, а в центральном офисе фирмы. Магазин сообщает центру что не доехало, какая разбилась бутылка и т.д. и центр принимает решение что делать дальше и совершает соответствующую операцию в ЕГАИС. Операции с ЕГАИС решили не доверять сотрудникам подразделения. С 01.07.2016 их задача сведется только к продаже АП через 2D сканер. Центральный офис должен получить доступ к каждому УТП магазина.
Так кто же подключился? У кого работает или остановилась служба транспорта?
Согласно требованиий Росалкогольрегулирования для ЕГАИС УТМ должно быть установлено в каждом обособленном подразделении. Таким образом у центру должены быть подключены все торговые точки. В центре установлена конфигурация 1С: Управление торговлей алкогольной продукцией, в которой заведено n-количество транспортных модулей магазинов и все операции подтверждения/расхождения совершаются через нее. Какая управляющая система не имеет никакого значения.
Подключение к центру магазинов было решено с использованием технологии VPN. Торговая точка самостоятельно или в автоматическом режиме подключается к центру. Маршрутизацию трафика для VPN в каждой торговой точке придется настраивать (это отделная публикация и в ней нет ничего сложного). Также необходимо в брандмауре windows открыть порт (по умолчанию 8080) .
В техническом плане имеется коммутатор 3-го уровня CRS125-24G-1S-RM с операционной системой RouterOS. Модель коммутатора не имеет значение как я думаю, главное что ОС RouterOS. У коммутаторов Mikrotik имеется замечательная функция как PPTP-сервер, к которой мы и будем подключаться. В процессе изучения коммутатора выяснилось, что у него имеется API, которое по умолчанию выключено. Т.е. через API можно контролировать подключения VPN-клиентов.
Исходя из задач, была написана данная утилита. Что она делает? Она хранит список торговых точек с УТМ и получает посредством API коммутатора список активных VPN-подключений. Также утилита контролирует работоспособность службы транспорта. Остановлена она или нет.
Утилита позволяет оператору в центральном офисе контролировать состояние подключения и работоспособность службы транспорта в каждой торговой точке. У него не возникает вопросов почему не работаетет операция подтверждения/расхождения/отказа накладной. Это и являлось целью написания данной утилиты.
В настройке нет ничего сложного. Устанавливаем параметры подключения к коммутатору. Не забываем включить API на Mikrotik'e. Добавляем новую УТМ, указываем ip-адрес клиента VPN и порт.
Мониторим и радуемся.
P.S. Это моя первая публикация. Не судите строго. Принимаются все пожелания и вопросы.