gifts2017

Обработка работы с кассовым сервером QKkmServer

Опубликовал Евгений Князев (Xabeas) в раздел Оборудование - ККМ

Обработка для 1С 8.Х, позволяющая наладить взаимодействие с сетевым кассовым сервером QKkmServer. Обработка предоставляет функционал фискального регистратора. Как только в 1С происходит обращение к кассе, функции обработки формируют набор специальных файлов с указанием кассовых команд и их параметров. Файлы складываются в указанную папку и дальше автоматически обрабатываются связкой QKkmServer.Supervisor[обычно на ПК с 1С]+QKkmServer[на ПК с ФР].

Известные проблемы:

  1. При работе 1С в условиях терминального сервера классическим является решение с "пробросом" COM-порта через терминальное соединение или с помощью сторонних решений. Однако, этот метод плохо работает, если в сети присутствуют задержки доставки TCP-пакетов. В итоге, это проявляется в виде нестабильной работы фискального регистратора: касса отказывается печатать чеки, исполняются не все команды, теряется связь с кассой. Таким образом, решение с "пробросом" COM-порта работает не всегда и нужно альтернативное рашение.
  2. Другой проблемой является ситуация, когда используется 1С в окружении операционной системы Linux. В этом случае проблема ещё острее: официальной поддержки этой операционной системы у производителя ФР Штрих-М нет. А работать в фискальными регистраторами надо. 
Что предлагается:

Есть набирающий популярность кассовый сервер QKkmServer, работающий по принципу TCP-сервера, принимающего команды в виде XML. Эти команды преобразуются в протокол работы с ФР и исполняются на устройстве. Результат исполнения команды также возвращается в виде XML. Сервер работает в различных операционных системах (Windows, Linux).

Управлять кассовым сервером таким образом - не очень удобно, и производитель создал программу-посредник QKkmServer.Supervisor, которая контролирует заданную папку на предмет появления файлов-заданий. При появлении файла он анализируется, автоматически формируются XML-команды и по сети осуществляется взаимодействие с кассовым сервером, который может стоять как на этом же компьютере (адрес 127.0.0.1), так на другом конце Интернета (нужен белый IP или использование VPN).

Учитывая, что QKkmServer.Supervisor на входе принимает файлы-задания, то из 1С остаётся только формировать эти файлы. Т.к. QKkmServer.Supervisor так же является кросс-платформенным продуктом, то общее решение также является кросс-платформенным и подходит всем архитектурным решениям 1С.

Для формирования файлов предлагаемая обработка использует описание команд QKkmServer.Supervisor и может быть со временем легко адаптирована в случае расширения команд протокола.

Как устанавливать:
Предварительно, как было описано выше, на соответствующих ПК должны быть установлены компоненты QKkmServer + QKkmServer.Supervisor.
  1. Запустите 1С Предприятие с необходимой конфигурацией

  2. Переключите интерфейс в полный режим

  3. Войдите в меню настройки кассового оборудования

  4. Добавьте новую кассу. 

  5. Загрузите обработку 

  6. Войдите в настройки и укажите папку для выгрузки файлов-заданий.

  7. Проверьте работу.

 При успешной настройке, фискальный регистратор издаст звук-трель и напечатает тестовую строку.

Скачать файлы

Наименование Файл Версия Размер
Обработка для 1С:Комплексная автоматизация
.zip 22,75Kb
12.03.16
0
.zip 22,75Kb Скачать
Обработка для 1С:Управление торговлей
.zip 22,73Kb
12.03.16
0
.zip 22,73Kb Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. aspirator 23 (aspirator23) 19.03.16 16:41
Проблема задержек в сети довольно серьезна. А есть ли у кассового сервера такое понятие как гарантированная доставка/обработка?
2. Евгений Князев (Xabeas) 19.03.16 22:59
(1) aspirator23,
Кассовый сервер построен таким образом, что всё сделано для обеспечения гарантированности распечатки чека:
1. на ПК с 1С (или терминальный сервер) ставится программа-посредник Супервизор. Она обеспечивает транспортный сетевой уровень и контролирует статус ФР.
2. сетевое взаимодействие с кассовым сервером построено по принципу отправки XML-сообщений. Т.е. если кассовый сервер в принципе получил команду по каналу связи (с любой задержкой), то он исполнит эту команду. Здесь важным моментом является то, что кассовый сервер располагается на том же ПК, к которому физически подключен фискальный регистратор. Т.е. задержек в обмене данными с ФР быть не может!
3. для самых сложных случаев разработчик рекомендует использовать VPN. В этом случае обеспечивается 100% гарантия доставки неискаженного XML-сообщения от клиента к кассовому серверу и наоборот.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа