Как настроить одну онлайн-кассу на два рабочих места в 1С:Розница 2.3

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

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

Проблема идентификации рабочего места

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

Способ 1. Сетевое подключение через Ethernet/Wi-Fi (для АТОЛ и Штрих-М)

Этот метод является наиболее правильным с точки зрения стабильности, если ваша касса поддерживает сетевые интерфейсы (порт LAN или модуль Wi-Fi). Рассмотрим его на примере оборудования АТОЛ.

Алгоритм настройки:

  1. Подключите кассовый аппарат к локальной сети магазина через кабель или настройте Wi-Fi.
  2. Укажите устройству статический IP-адрес через утилиту драйвера ККТ.
  3. В 1С на обоих рабочих местах зайдите в «Подключаемое оборудование».
  4. В настройках экземпляра оборудования выберите тип подключения TCP/IP (или Ethernet), укажите IP-адрес кассы и порт (по умолчанию для АТОЛ это 5555).
  5. Важный нюанс: Обязательно установите флаг «Отключаться от ККТ после каждой операции». Если этого не сделать, первая же открытая сессия 1С «захватит» порт кассы, и второй компьютер не сможет пробить чек, пока программа на первом не будет закрыта — для этого подойдёт обработка для сетевой работы кассы через TCP/IP и RDP.

При такой схеме смена открывается и закрывается на одном устройстве, но 1С на каждом рабочем месте будет считать, что у нее «своя» смена. Закрытие смены на любом из компьютеров физически закроет смену в ККТ.

Способ 2. Подмена идентификатора рабочего места (PFL-метод)

Если касса подключена по USB к одному из компьютеров и не имеет сетевого порта, можно прибегнуть к технической хитрости. Выясним, как 1С понимает, что она запущена на конкретном рабочем месте. Эта информация хранится в локальном файле настроек пользователя.

Инструкция по реализации:

  1. Настройте оборудование полностью на первом компьютере (ПК-1). Убедитесь, что чеки пробиваются.
  2. Перейдите на ПК-1 по пути: C:\Users\ИМЯ_ПОЛЬЗОВАТЕЛЯ\AppData\Local\1C\1cv8\.
  3. Найдите файл 1cv8u.pfl. В нем хранится уникальный идентификатор рабочего места.
  4. Скопируйте этот файл и перенесите его на второй компьютер (ПК-2) в аналогичную папку соответствующего пользователя.
  5. Теперь 1С на втором компьютере будет «думать», что она запущена на ПК-1.

Внимание: Этот метод заставляет 1С использовать одни и те же настройки торгового оборудования для обоих компьютеров. При этом касса должна быть доступна по сети. Чтобы касса, подключенная по USB к ПК-1, была видна на ПК-2, необходимо использовать «проброс» COM-портов через стороннее ПО (например, TCP COM Bridge или Virtual Serial Ports Emulator).

Способ 3. Использование Web-сервера драйвера (АТОЛ 10)

Современные драйверы АТОЛ версии 10 позволяют запустить службу налогового инспектора в режиме веб-сервера. Это самый надежный метод решения проблемы «занятого порта».

Разберем, как это работает: На основном компьютере, где физически стоит касса, запускается служба драйвера, которая превращает кассу в HTTP-ресурс. В настройках 1С на обоих компьютерах указывается адрес этого сервера. Главное преимущество здесь — очередь печати. Если два кассира нажмут кнопку «Пробить чек» одновременно, драйвер сам выстроит их в очередь, и второй чек напечатается сразу после первого без ошибок блокировки порта.

Способ 4. Стороннее ПО (KkmServer)

Если штатные средства 1С и драйверов не справляются (например, у вас касса «Меркурий» или «Вики Принт»), можно рассмотреть использование специализированных серверов печати, таких как KkmServer — решает задачу через сервер печати чеков для организации сетевой очереди.

Проанализируем шаги настройки:

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

Программная доработка (Расширение 1С)

Для корректного ведения учета остатков по денежным ящикам и управления сменами, программисты часто используют расширения. Рассмотрим логику, которую можно внедрить для автоматизации процесса закрытия смены:


&НаСервере
Процедура ПриОткрытииСменыПосле(Параметры)
    // Проверяем, не открыта ли уже смена в базе данных для этого устройства
    // Если на другом рабочем месте смена уже открыта, 
    // программно создаем документ "Кассовая смена" без обращения к фискальнику
    Если СменаУжеОткрытаНаДругомРМ() Тогда
        СоздатьТехнологическуюСмену();
    КонецЕсли;
КонецПроцедуры

Такой подход позволяет избежать ситуации, когда один кассир закрыл смену в устройстве (Z-отчет вышел), а у второго кассира в 1С смена осталась «висеть» открытой, что блокирует продажи на следующий день. Для решения этой проблемы в базе можно использовать обработку для принудительного закрытия кассовой смены в 1С:Розница.

Нюансы с маркировкой и эквайрингом

Разберем важные моменты, о которых часто забывают: 1. Маркировка (Честный Знак): При одновременной работе крайне важно использовать драйверы версии 10 и выше. Старые методы проброса портов могут искажать передачу криптохвоста марки, что приведет к ошибкам в ОФД.

2. Банковские терминалы: Если терминал один на двоих, его также придется настраивать через сетевой интерфейс или использовать автономный вариант. Если терминала два, а касса одна — проблем с печатью слип-чеков не будет, так как 1С отправляет их на печать последовательно как обычный текст.

Подведем итог: Реализация работы одной ККТ на два места в 1С:Розница 2.3 вполне возможна. Наилучшим вариантом сегодня является использование Web-сервера АТОЛ 10 или KkmServer, так как они обеспечивают автоматическое управление очередью чеков и стабильность связи без «костылей» с копированием системных файлов.

← На главную