← На главную
В розничной торговле и оптовых складах часто возникает ситуация, когда два продавца или менеджера работают в непосредственной близости друг от друга (например, за одним столом), оформляют заказы в программе 1С, но поток клиентов не оправдывает покупку второго дорогостоящего фискального регистратора. В таких случаях логично использовать одну физическую онлайн-кассу на два рабочих места. Рассмотрим, как настроить такую схему работы на примере популярного фискального регистратора АТОЛ 30Ф и конфигурации 1С:Розница.
В чем заключается основная сложность совместного использования ККТ?
При попытке совместного использования одного фискального регистратора (ФР) системные администраторы сталкиваются с двумя ключевыми проблемами:
- Монопольный захват порта драйвером: Традиционно ККТ подключается по USB к одному компьютеру. Операционная система и стандартный драйвер монополизируют COM-порт, через который идет общение с кассой. В результате второе рабочее место при попытке пробить чек получает ошибку "Порт занят" или "ККТ не найдена".
- Контроль кассовых смен в 1С: В старых концепциях автоматизации кассовая смена жестко привязывалась к конкретному рабочему месту и конкретной кассе ККМ в справочнике 1С. Попытка открыть смену с другого компьютера приводила к конфликтам проведения документов и невозможности корректно свести выручку в конце дня.
Ниже мы подробно разберем, как решить обе эти проблемы штатными средствами платформы 1С и драйверов АТОЛ, а также рассмотрим альтернативные варианты.
---
Способ 1. Штатный механизм логических смен в 1С и освобождение порта
Этот способ является самым простым, так как он не требует приобретения стороннего программного обеспечения и доработки конфигурации. Всё настраивается штатными средствами 1С и ДТО (Драйвера торгового оборудования) АТОЛ.
Шаг 1. Настройка сетевого доступа к ККТ и освобождения порта
Основная задача — сделать так, чтобы первое рабочее место не удерживало порт кассы постоянно. Разберем по шагам, как это настроить в 1С:
- Подключите АТОЛ 30Ф по USB к первому компьютеру (компьютер-сервер). Установите актуальную версию ДТО 10 от АТОЛ.
- В программе 1С перейдите в меню подключения оборудования. Откройте карточку настройки вашей ККТ.
- Найдите и установите важнейший параметр — флаг "Отключаться от ККТ" (в некоторых версиях он называется "Освобождать порт"). При активации этой настройки 1С будет подключаться к кассе только в момент непосредственной отправки чека на печать (это занимает доли секунды) и сразу же закрывать соединение. Это позволит второму компьютеру получить доступ к кассе в свободное время.
Шаг 2. Организация совместной работы со сменами в 1С:Розница
Выясним, как правильно организовать работу кассиров без путаницы в учете. Нам не нужно дорабатывать программу, так как 1С:Розница "из коробки" поддерживает механизм разделения логических и физических смен.
Проанализируем алгоритм работы этой схемы:
- В 1С создаются два отдельных рабочих места (РМК) и две кассы ККМ в справочнике, но обе они физически ссылаются на один и тот же фискальный регистратор АТОЛ 30Ф.
- Каждый кассир на своем рабочем месте открывает свою логическую (персональную) смену в 1С. При этом на физическом фискальном регистраторе (в самом аппарате АТОЛ) открывается одна общая физическая смена.
- В течение дня оба кассира бьют чеки со своих рабочих мест. Драйвер благодаря настроенному автоотключению поочередно обрабатывает их запросы.
- При закрытии смены в конце дня первый кассир производит закрытие своей смены в 1С. Программа формирует отчет о розничных продажах для его рабочего места, но команда на снятие Z-отчета (физическое закрытие смены с гашением на ККТ) на кассу не отправляется.
- Когда второй (последний) кассир закрывает свою смену, 1С понимает, что все логические смены закрыты, и отправляет на АТОЛ 30Ф команду полного закрытия физической смены с печатью итогового Z-отчета.
---
Способ 2. Использование сетевых возможностей драйвера АТОЛ 10 (RPC / Web-сервер)
Если при прямом обращении к COM-порту периодически возникают коллизии (например, менеджеры одновременно нажимают кнопку "Пробить", что вызывает кратковременную блокировку), мы рекомендуем использовать встроенные сетевые службы ДТО 10.
Использование удаленного подключения (RPC-сервер):
В составе драйвера АТОЛ 10 присутствует служба удаленного подключения. На компьютере, к которому физически подключен кассовый аппарат, запускается сервер удаленного подключения АТОЛ. В настройках торгового оборудования на втором компьютере в 1С указывается тип подключения "Сеть", вводится IP-адрес первого компьютера и порт службы (по умолчанию 6220). Драйвер ККТ самостоятельно выстраивает очередь входящих пакетов от разных ПК и последовательно отправляет их на печать, исключая любые конфликты доступа.
Использование Web-сервера АТОЛ:
Современные версии драйверов АТОЛ включают в себя полноценный веб-сервер (atol-fptr-web-server). Касса принимает команды по протоколу HTTP в формате JSON. Это идеальное решение, если рабочие места работают в веб-клиенте 1С или через тонкий клиент на веб-сервере:
- Веб-сервер запускается на ПК с физически подключенной кассой.
- Все остальные рабочие места отправляют запросы на печать чеков по локальной сети через HTTP-запросы.
- Очередь печати полностью администрируется веб-сервером АТОЛ, обеспечивая стабильную работу без задержек.
---
Способ 3. Специализированные внешние серверы кассовой печати
В случаях, когда типовой функционал старой версии "1С:Розница 2.2" работает нестабильно или сетевые настройки ДТО вызывают сложности, профессиональным решением является внедрение стороннего сервера печати (например, популярного решения от компании "РБ-Софт").
Рассмотрим принцип работы такого ПО:
- На компьютер с кассой устанавливается небольшая программа-сервер печати.
- На рабочих местах пользователей в 1С настраивается специальная обработка обслуживания, которая вместо прямой отправки команды на ККТ формирует файл чека в определенном формате и передает его серверу печати (через общую сетевую папку или HTTP API).
- Сервер печати забирает эти файлы, формирует строгую очередь и без участия 1С отправляет команды на печать в АТОЛ 30Ф. 1С лишь ожидает подтверждения от сервера о том, что чек успешно пробит.
Такой подход полностью гарантирует отсутствие зависаний сессий 1С у кассиров при высоких нагрузках.
---
Способ 4. Сценарий с "виртуальной" ККМ (без доработки кода)
Если у вас оптовая торговля или специфика работы позволяет не выдавать бумажный чек покупателю лично в руки в ту же секунду, можно применить схему с виртуальной кассой:
- На первом ПК настраивается полноценное рабочее место с физическим АТОЛ 30Ф.
- На втором ПК настраивается касса с типом "ККМ без подключения оборудования". Кассир спокойно проводит продажи в 1С, фиксируя выручку в базе.
- В конце дня или по мере необходимости документы продаж переносятся (или проводятся) через первый ПК, где физически пробиваются чеки.
- Согласно 54-ФЗ, клиентам можно отправлять электронные версии чеков на e-mail или по SMS через ОФД, что делает данный способ полностью легальным и избавляет от необходимости физической печати чека на втором рабочем месте.
Резюмируем: Подключение одной кассы АТОЛ 30Ф на два рабочих места в 1С:Розница — абсолютно рабочая и стандартная задача. Для ее реализации в первую очередь попробуйте штатный механизм с включением настройки "Отключаться от ККТ" и разделением логических смен. Если нагрузка на кассу высока, переведите ККТ в сетевой режим работы через утилиты ДТО 10.