В практике автоматизации розничной торговли нередко возникает ситуация, когда в рамках одной организации функционируют несколько отделов или складов (например, на разных этажах торгового комплекса), но используется только один физический фискальный регистратор (ККТ). Рассмотрим, что происходит при попытке создать две логические кассы в 1С и открыть по ним параллельные смены на одном устройстве, а также разберем корректные способы решения этой задачи.
Проанализируем механику взаимодействия 1С с фискальным регистратором. В современных онлайн-кассах смена открывается специальной командой драйвера (например, OpenSession() / ОткрытьСмену()), которая формирует фискальный документ «Отчет об открытии смены» и отправляет его оператору фискальных данных (ОФД).
Если в конфигурации «1С:Управление торговлей» заведены две сущности справочника Кассы ККМ, подключенные к одному и тому же физическому экземпляру подключаемого оборудования, система поведет себя следующим образом:
Кассовая смена со статусом «Открыта».Если попытаться программно обойти эту проверку в коде конфигурации (создав документ смены в 1С без вызова драйвера), возникнет критическая проблема при закрытии: закрытие смены на любом из рабочих мест снимет Z-отчет на ККТ. В результате второе рабочее место потеряет возможность пробивать чеки, так как смена в ФН окажется закрытой, что приведет к полной рассинхронизации учетных данных и сбоям пробития чеков.
Самый простой и надежный способ без доработки типовой конфигурации — объединение торговых точек в одну логическую кассу.
Кассы ККМ создаем один общий элемент, привязанный к физическому фискальному регистратору.Если кассиры работают на разных компьютерах, классическое подключение через локальный COM-порт или USB монопольно блокирует порт, и второй компьютер не может отправлять команды на ККТ. Для решения этой проблемы разберем штатный функционал удаленной фискализации:
В крупных распределенных системах для исключения конфликтов прямого доступа к оборудованию используют сторонние или специализированные серверы печати чеков (веб-серверы производителей ККТ, службы очередей HTTP-запросов).
В такой схеме 1С отправляет JSON-пакет с данными чека в локальный сервис очереди. Сервис принимает чеки от всех сеансов, контролирует состояние смены и поочередно передает команды в драйвер фискального регистратора. Это полностью исключает ошибки одновременного доступа и блокировки COM-портов.
Если перед организацией стоит задача строгого контроля выручки и материальной ответственности по каждому этажу или отделу, разделение реализуется на уровне управленческих документов:
Отчет о розничных продажах в разрезе складов отгрузки при закрытии общей кассовой смены.