В современных распределенных торговых сетях часто возникает сложная техническая задача: организация работы множества пользователей 1С:Управление торговлей в терминальном режиме (RDP) с использованием нескольких фискальных регистраторов, находящихся в разных географических точках. Типовые средства проброса портов часто работают нестабильно, а штатные драйверы могут блокировать устройство при одновременном обращении. В данной статье мы разберем, как использование специализированного ПО KkmServer помогает решить проблему параллельной печати чеков без привязки к конкретным пользователям 1С.
Рассмотрим ситуацию, типичную для многих компаний: на терминальном сервере работают N пользователей в одной информационной базе УТ 11. При этом в различных торговых точках установлены M кассовых аппаратов (например, модели РР-02Ф). Основные сложности, с которыми сталкиваются системные администраторы и программисты:
1С для каждой физической кассы.РР-02Ф), стандартные утилиты управления могут не иметь встроенных веб-серверов для удаленной работы.Проанализируем принцип работы KkmServer. Данное решение выступает в роли middleware (промежуточного слоя) между 1С и кассовым аппаратом. Вместо прямой работы с драйвером через БПО (библиотеку подключаемого оборудования), система отправляет высокоуровневые команды через HTTP/JSON запросы.
Разберем по шагам, что происходит при отправке чека:
1С формирует пакет данных в формате JSON.РР-02Ф).1С.Проанализируем ключевые возможности, которые дает внедрение этого сервера в ИТ-контур предприятия:
1. Управление очередью печати. Это критически важная функция для высоконагруженных точек. Если несколько менеджеров одновременно нажимают кнопку "Пробить чек", KkmServer не выдаст ошибку блокировки порта, а корректно выстроит задания друг за другом.
2. Удаленная работа без VPN и проброса портов. Благодаря поддержке облачных прокси и возможности публикации сервера вовне, можно печатать чеки на кассе, находящейся в другом городе, имея лишь доступ к HTTP-порту сервера. Это полностью снимает проблемы нестабильности RDP-проброса.
3. Фоновая печать. Рассмотрим сценарий, когда пользователю 1С не нужно ждать физического окончания выхода чека из принтера. Программа отправляет JSON-пакет и мгновенно освобождает интерфейс для дальнейшей работы, что значительно повышает скорость обслуживания клиентов.
4. Поддержка различного оборудования. Хотя многие рекомендуют использовать АТОЛ из-за их штатного веб-сервера, KkmServer отлично справляется с протоколами Штрих-М, к которым относятся аппараты РР-02Ф. Он обеспечивает более стабильное соединение с "капризными" USB-интерфейсами за счет механизмов автоматического переподключения при обрывах связи.
Для понимания того, как происходит общение между системами, посмотрим на пример структуры данных, которую генерирует 1С для передачи в KkmServer. Это позволяет гибко настраивать печать даже в нетиповых конфигурациях.
// Пример структуры команды для регистрации чека
{
"Command": "RegisterCheck",
"NumDevice": 0,
"IsFiscalCheck": true,
"TypeCheck": 0, // Продажа
"CheckStrings": [
{
"Register": {
"Name": "Товар тестовый",
"Quantity": 1,
"Price": 100.00,
"Amount": 100.00,
"Tax": 20
}
}
],
"CashierName": "Иванов И.И.",
"Payments": [
{"TypeSign": 0, "Amount": 100.00} // Наличные
]
}
Использование подобных запросов позволяет абстрагироваться от версии БПО и платформы 1С, работая напрямую с веб-сервисом.
Несмотря на явные плюсы, разберем и возможные риски, которые необходимо учитывать системному администратору:
Подводя итог, можно сказать, что KkmServer является отличным решением для задач "N пользователей и M касс", особенно когда используется оборудование, отличное от АТОЛ (например, РР-02Ф). Это позволяет:
Для успешного внедрения рекомендуем сначала протестировать работу в демо-режиме, отладить формирование JSON-пакетов в 1С и убедиться в стабильности сетевого соединения между терминальным сервером и хостами, к которым подключены кассовые аппараты.