Поиск
  • Евгений

Презентация-обзор кассового сервера QKkmServer


Основная цель данной статьи — познакомить технических специалистов, интеграторов, разработчиков, ИТ-директоров, с нашим программным решением — платформой “Кассовый сервер QkkmServer”.




Начнем с того, что постараюсь ответить на вопрос: что такое кассовый сервер и какие задачи решаются с его помощью.


Наша команда давно занимается вопросами автоматизации, но до определенного момента основные задачи сводились к интеграции касс в различные проекты класса десктоп. То есть когда поддержку касс надо было внедрить в устаревшее программное обеспечение. Так мы интегрировались по файловому протоколу со множеством программ, написанных ещё для DOS на FoxPRO 2.5/2.7, Clipper, Pascal и прочих устаревших языках программирования. Хотя эти устаревшие решения написаны порой настолько виртуозно, что устраивают пользователей и сегодня — в основном это госструктуры и их окружение.


Но это, в целом, прошлый этап. Новый, современный этап развития программного обеспечения построен на клиент-серверных технологиях. А отправной точкой в нашем проекте послужило принятие изменений в 54-й федеральный закон, который ввёл понятие «ОнЛайн кассы», а так же описал круг организаций, которые обязаны использовать кассовую технику в своей деятельности.


Так же оказалось сформированным и законодательное требование к кассам, входящим в состав автоматизированных систем, кассовых автоматов и, в частности, интернет-магазинов.


Массовая интеграция касс в облачные web-проекты выявила ряд проблем, с которыми столкнулись разработчики и интеграторы:

1. рынок сформировался таким образом, что подключить имеющуюся «на столе» кассу к облачному проекту почти невозможно. Все предлагаемые решения ориентированы на аренду кассы в «облаке» у поставщика услуги. С кассами «в собственности» фактически никто не работает.

2. Если у предпринимателя (или организации) несколько интернет-магазинов, то так же отсутствует решение для печати на одну собственную кассу.

3. Так же плохо представлены на рынке решения, которые позволяли бы работать с кассой в операционной системе, отличной от Windows. А между тем, большинство корпоративных систем всё больше и больше выбирают Linux для организации рабочих мест кассиров… Да и рынок микро-компьютеров развивается постоянно.

4. Так же, работая с крупными клиентами, мы столкнулись с вопросами унификации кассовых протоколов. Поняли, что нужен протокло высокого уровня, который подходил бы для управления любой ККМ.

5. Проблемы мониторинга состояния параметров кассового парка, сроков действия фискальных накопителей, текущие ошибки в работе касс… т. е. Нужно такое решение, которое выполняло бы функции мониторингового центра…

6. Так же есть ряд проблем с построением отказоустойчивых систем, систем с высокой нагрузкой и балансировкой, распределением задач печати чеков и так далее и тому подобное…




Собрав набор из огромного числа подобных «проблем» мы приступили к проектированию новой версии программного комплекса. В результате изысканий и технологических решений появился проект, который Вам представляю: платформа Кассовый сервер QKkmServer, система управления ОнЛайн кассами.

Сайт проекта — www.qkkmserver.ru Там вы найдете информационные материалы по кассовой теме, примеры интеграций, дистрибутивы программ и новости из «кассового» мира.



Перейдём к рассказу об архитектуре сервиса, основных компонентах кассового сервера QkkmServer.

В основе лежит ядро, предоставляющее пользователям ряд сервисов:

1. работа с оборудованием

2. очереди заданий для кассиров

3. данные о параметрах оборудования

Таким образом ядро предоставляет все основные функции по работе с кассами.

Для взаимодействия с пользователем предоставляется «Личный кабинет» lk.qkkmserver.ru

С его помощью производится настройка проекта и оборудования, в нём отслеживаются задания на печать и результаты фискализации. В личном кабинете кассового сервиса можно сформировать вручную чек или выполнить сервисную команду на кассе.

А вот непосредственно с кассовым оборудованием работает «Узел печати», он же QkkmServer.NODE (далее — Нода или Узел)

Эта программа устанавливается на рабочее место кассира, либо на выделенный компьютер и осуществляет управление кассовыми аппаратами.

QkkmServer.NODE выполнена в виде кросс-платформенного решения и штатно устанавливается на разные системы Windows, Linux, RaspberryPI. Таким образом, часть указанных ранее проблем уже решена на уровне построения правильной архитектуры информационной системы: кассы работают на разных системах, управляются и контролируются единым центром



Для того, чтобы начать работу с кассовым сервером QkkmServer необходимо пройти несколько обязательных шагов.

Если кратко, то всё начинается с регистрации организации в личном кабинете.

Потом производится установка и настройка ноды и «привязанных» к ней касс.

Настройка параметров касс в личном кабинете

Теперь о каждом компоненте кассового сервера немного более подробно…


С процессом регистрации организации, как мне думается, проблем возникнуть не должно. Он стандартен. Используется письмо со ссылкой подтверждения регистрации. Заполняются данные организации (карточка реквизитов)

Далее устанавливается НОДА. Установка производится штатным для выбранной операционной системы способом. Для Windows – это инсталлятор, а для линукса на основе debian (а это Ubuntu, Mint и т.д.) — deb-пакет. Так же имеется тарболл для linux-систем, не имеющих поддержки deb-пакетов. Это RedHat, CentOS, Fedora и производные от них…

Настройка НОДы заключается в конфигурировании касс, которые НОДа обслуживает.

НОДа умеет работать с широким списком моделей онлайн-касс (список касс будет приведён в конце презентации), в данный момент реализованы два наиболее распространенных протокола управления: это АТОЛ и ШТРИХ-М.

Соответственно, для каждой настраиваемой кассы выбирается протокол, а так же указываются настройки подключения. Это может быть IP-адрес кассы или название порта (COM1 или, скажем, COM10 в Windows и /dev/ttyUSBx или /dev/ttyACMx).

Для каждой кассы обязательно указывается краткое наименование. Оно будет фигурировать в личном кабинете кассового сервера, в отчетах и настройках.


Когда все параметры введены, НОДа берёт кассу на сопровождение. Периодически опрашивает её состояние и передаёт отчеты ядру кассового сервера — в «облако».

Для визуального контроля на панели состояния указывается аппаратный идентификатор кассы — это уникальный код, присваиваемый кассе. Так как он основан на аппаратных данных, то при переключении кассы к другой НОДе (другому ПК…) этот идентификатор сохранится. Однако, в случае смены ИНН, регистрацию кассы на сервере надо будет провести заново, так как идентификатор кассы изменится.

Далее можно контролировать состояние подключения кассы, т. е. Есть ли связь между НОДой и кассой. Результат исполнения последнего задания и видеть дату-время, когда был последний запрос к кассе.

В ходе опроса онлайн-кассы собирается ряд данных о техническом состоянии ККТ. Эта информация регулярно поступает на центральный сервер и аккумулируется там. В дальнейшем она используется для уведомлений обслуживающего персонала о неисправностях, служит основой при построении отчетов.

Таким образом, кассовый сервер QkkmServer выполняет функции центра мониторинга за состоянием касс. Каждая касса под постоянным контролем. Системный администратор оперативно уведомляется по электронной почте о неисправностях кассового оборудования. Организуется единый центр мониторинга и управления кассовым парком.


Но вернёмся к процессу запуска проекта. После того, как кассы подключены к НОДе, пришла пора подключить ноду к кассовому серверу. Для этого надо зарегистрировать НОДу в личном кабинете. Идентификация НОД идёт по уникальным идентификаторам. Копируем идентификатор НОДы из раздела меню About.



Переходим в личный кабинет, в раздел Узлы печати и нажимаем кнопку «Добавить узел».В открывшемся окне вставляем идентификатор НОДы и заполняем строку с названием НОДы. НОДа добавляется в список. В дальнейшем можно зайти в этот список и проконтролировать связь с НОДой.



После того, как НОДа добавлена, система автоматически получает список касс, подключенных к НОДе. Идём в меню ККМ и в списке находим кассы. Не активированная касса будет помечена желтым маркером и текстом «Ждет активации».

Справа в строке нажимаем на кнопку меню кассы и выбираем пункт «Активировать».

В открывшейся карточке необходимо заполнить параметры «по-умолчанию» для этой кассы. Т.е. если в дальнейшем при работе по протоколу API часть параметров будет не указана, то они подставятся автоматически из данной карточки.

Указав все данные нажимаем на кнопку «Активировать» и видим что касса в списке поменяла свой статус на «Активирована».

Аналогичную процедуру надо провести со всеми неактивированными кассами.



Базовая настройка системы завершена. Можно распечатать чек. Для этого имеется специальный интерфейс.

Кстати, данная функция весьма востребована в мобильной торговле. Касса установлена в офисе, а курьер на своем телефоне в момент доставки и окончательного расчета за товар пробивает чек. Электронная копия чека отправляется клиенту.



Для решения проблем с печатью большого числа чеков, к примеру в сфере ЖКХ, предусмотрен интерфейс загрузки чеков списком.

Можно загрузить банковскую выписку в формате 1С, указать какой формой оплаты провести платежи и нажать кнопку ПЕЧАТЬ. Система сформирует очередь из документов и проконтролирует их регистрацию. При этом получение бумажного чека можно отключить, т. е. Чек будет только электронный.

Очередь фискализируется достаточно быстро. В среднем на один чек требуется 3-4 секунды.


Как говорилось ранее, любой документ, отправляемый на кассу в любой момент времени может быть просмотрен.

Если разрешено настройками, то в интерфейсе так же будут присутствовать кнопки «Возврат» и, в случае ошибки во время фискализации, «Повторить печать».





Но основной потенциал кассового сервера и его основная задача — это возможность управлять всеми настроенными и подключенными кассами из внешних систем: интернет-магазинов, различных торговых систем… Для этого предоставляется удобное RestAPI, в основе которого — использование JSON-документов.

Для подключения интернет-магазина к кассовому серверу необходимо сформировать ключ безопасности. Для каждого магазина (или иной инфо-системы) рекомендуется формировать отдельный ключ.



В настоящее время ведутся работы по написанию модулей-плагинов к стандартным интернет-магазинам. Но уже сегодня мы предлагаем разработчикам модуль интеграции — компоненту на PHP которая предоставляет интерфейс взаимодействия по API с кассовым сервером. Позволяет выполнять все необходимые операции: управление сменами, формирование чеков, печать текста, QR-кода и так далее.

Для настройки модуля необходимо в файле конфигурации указать ключ API, который был сформирован в личном кабинете.


После этого можно перейти в файл QKSDemo.php и запустить тестовые примеры. Познакомиться с принципом формирования команд для кассового сервера.

Все сформированные команды и ответы сервера отображаются в файле-журнале.

Можно использовать эту информацию для формирования своих команд в процессе интеграции.



Как упоминалось ранее, список поддерживаемых ОнЛайн касс весьма велик и насчитывает более 35 моделей. Это все кассы, которые работают по протоколам АТОЛ и Штрих-М.


Таким образом, наш кассовый сервер позволяет:

  • управлять кассами централизованно

  • использовать для управления кассами единое АПИ

  • не зависеть от используемой марки и модели кассы

  • установить кассовый модуль на любой ПК с Windows или линукс

  • построить систему мониторинга состояния

  • а так же решить ещё целый ряд технических задач, список которых постоянно расширяется!

На этом описание основных функций кассового сервера QkkmServer завершено.


Мы приглашаем разработчиков и интеграторов к сотрудничеству на выгодных условиях.



По всем вопросам Вы можете обращаться по контактам, указанным на экране.

Для Вас обзор провел технический директор проекта Кассовый сервер QkkmServer Князев Евгений Михайлович.



Просмотров: 120

Оставить заявку

Контакты

+7 928 270 13 19

Telegram        @hexen_61

WhatsApp     +79282701319

© 2019 ИП Князев Евгений Михайлович, ИНН 616113124378