Как организовать работу двух кассовых смен или нескольких рабочих мест на одной онлайн-кассе в 1С?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

В практике автоматизации розничной торговли нередко возникает ситуация, когда в рамках одной организации функционируют несколько отделов или складов (например, на разных этажах торгового комплекса), но используется только один физический фискальный регистратор (ККТ). Рассмотрим, что происходит при попытке создать две логические кассы в 1С и открыть по ним параллельные смены на одном устройстве, а также разберем корректные способы решения этой задачи.

Что происходит при попытке открыть вторую смену на одной ККТ

Проанализируем механику взаимодействия 1С с фискальным регистратором. В современных онлайн-кассах смена открывается специальной командой драйвера (например, OpenSession() / ОткрытьСмену()), которая формирует фискальный документ «Отчет об открытии смены» и отправляет его оператору фискальных данных (ОФД).

Если в конфигурации «1С:Управление торговлей» заведены две сущности справочника Кассы ККМ, подключенные к одному и тому же физическому экземпляру подключаемого оборудования, система поведет себя следующим образом:

  1. При открытии смены на первой кассе 1С успешно посылает команду в драйвер, печатается фискальный отчет, в ОФД уходит уведомление об открытии смены, а в базе создается документ Кассовая смена со статусом «Открыта».
  2. При попытке открыть смену на второй кассе Библиотека подключаемого оборудования (БПО) опрашивает статус устройства. Получив от ККТ ответ, что смена уже открыта, драйвер возвращает ошибку выполнения операции.
  3. Повторно открыть смену на фискальном накопителе (ФН) невозможно до тех пор, пока текущая смена не будет закрыта Z-отчетом (отчетом о закрытии смены).

Если попытаться программно обойти эту проверку в коде конфигурации (создав документ смены в 1С без вызова драйвера), возникнет критическая проблема при закрытии: закрытие смены на любом из рабочих мест снимет Z-отчет на ККТ. В результате второе рабочее место потеряет возможность пробивать чеки, так как смена в ФН окажется закрытой, что приведет к полной рассинхронизации учетных данных и сбоям пробития чеков.

Способ 1. Использование единой логической кассы ККМ для всех рабочих мест

Самый простой и надежный способ без доработки типовой конфигурации — объединение торговых точек в одну логическую кассу.

  1. В справочнике Кассы ККМ создаем один общий элемент, привязанный к физическому фискальному регистратору.
  2. В настройках РМК (рабочего места кассира) на обоих этажах/компьютерах указываем эту общую кассу ККМ.
  3. Смену открывает первый начавший работу кассир в начале рабочего дня, а закрывает последний при завершении торговли.
  4. Если требуется разделение номенклатуры или выручки по разным складам, настраиваем списание товаров в чеках ККМ с соответствующих складов (в зависимости от настроек программы и прав доступа) либо настраиваем автоматическое распределение продаж по складам.

Способ 2. Использование сетевой удаленной фискализации в БПО

Если кассиры работают на разных компьютерах, классическое подключение через локальный COM-порт или USB монопольно блокирует порт, и второй компьютер не может отправлять команды на ККТ. Для решения этой проблемы разберем штатный функционал удаленной фискализации:

  1. Подключаем ККТ к главному рабочему месту или выделенному кассовому серверу.
  2. В параметрах подключаемого оборудования 1С активируем признак предоставления доступа к устройству по сети (режим работы через «Сервер ККТ» / сетевое рабочее место).
  3. На удаленных компьютерах настраиваем подключение к данному оборудованию по локальной сети через протокол платформы 1С.
  4. При этом все рабочие места взаимодействуют с одной единой кассовой сменой, а чеки выстраиваются в корректную очередь печати без блокировки интерфейса кассиров.

Способ 3. Сервер очередей печати и промежуточный сервис

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

В такой схеме 1С отправляет JSON-пакет с данными чека в локальный сервис очереди. Сервис принимает чеки от всех сеансов, контролирует состояние смены и поочередно передает команды в драйвер фискального регистратора. Это полностью исключает ошибки одновременного доступа и блокировки COM-портов.

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

Если перед организацией стоит задача строгого контроля выручки и материальной ответственности по каждому этажу или отделу, разделение реализуется на уровне управленческих документов:

  1. Формирование управленческих отчетов по продажам с группировкой по складам, отделам или конкретным пользователям (авторам документов).
  2. Формирование регламентного документа Отчет о розничных продажах в разрезе складов отгрузки при закрытии общей кассовой смены.
  3. Если же требуется полная юридическая и финансовая автономность (независимый график работы, раздельная инкассация, персональные Z-отчеты), единственным корректным решением является приобретение и регистрация отдельного фискального регистратора для каждого рабочего места.
← На главную