В практике автоматизации небольших магазинов часто возникает ситуация, когда торговая точка оборудована двумя кассовыми зонами (двумя компьютерами), но объем выручки или бюджет не позволяют приобрести два фискальных регистратора. В 1С:Розница 2.3 штатный механизм работы подразумевает жесткую привязку: одно рабочее место — одна касса ККМ — одно устройство. Однако существуют технические решения, позволяющие обойти это ограничение и организовать эффективную работу двух кассиров с одним печатающим устройством. Разберем подробно, как это реализовать. Для этой задачи есть расширение для совместного использования одной кассы в 1С:Розница.
Для начала проанализируем, почему в 1С нельзя просто указать одну и ту же кассу для двух разных компьютеров. В программе существует справочник РабочиеМеста. Каждое физическое подключение (компьютер) получает свой уникальный идентификатор (ID). В справочнике КассыККМ настройка оборудования жестко привязана к этому ID. Если мы попытаемся создать вторую запись в справочнике КассыККМ для того же фискального регистратора, программа позволит это сделать, но при открытии смены на втором компьютере возникнет конфликт: устройство уже занято другим рабочим местом, или смена в устройстве уже открыта, что приведет к ошибкам в логике 1С.
Этот метод является наиболее правильным с точки зрения стабильности, если ваша касса поддерживает сетевые интерфейсы (порт LAN или модуль Wi-Fi). Рассмотрим его на примере оборудования АТОЛ.
Алгоритм настройки:
При такой схеме смена открывается и закрывается на одном устройстве, но 1С на каждом рабочем месте будет считать, что у нее «своя» смена. Закрытие смены на любом из компьютеров физически закроет смену в ККТ.
Если касса подключена по USB к одному из компьютеров и не имеет сетевого порта, можно прибегнуть к технической хитрости. Выясним, как 1С понимает, что она запущена на конкретном рабочем месте. Эта информация хранится в локальном файле настроек пользователя.
Инструкция по реализации:
C:\Users\ИМЯ_ПОЛЬЗОВАТЕЛЯ\AppData\Local\1C\1cv8\.1cv8u.pfl. В нем хранится уникальный идентификатор рабочего места.Внимание: Этот метод заставляет 1С использовать одни и те же настройки торгового оборудования для обоих компьютеров. При этом касса должна быть доступна по сети. Чтобы касса, подключенная по USB к ПК-1, была видна на ПК-2, необходимо использовать «проброс» COM-портов через стороннее ПО (например, TCP COM Bridge или Virtual Serial Ports Emulator).
Современные драйверы АТОЛ версии 10 позволяют запустить службу налогового инспектора в режиме веб-сервера. Это самый надежный метод решения проблемы «занятого порта».
Разберем, как это работает: На основном компьютере, где физически стоит касса, запускается служба драйвера, которая превращает кассу в HTTP-ресурс. В настройках 1С на обоих компьютерах указывается адрес этого сервера. Главное преимущество здесь — очередь печати. Если два кассира нажмут кнопку «Пробить чек» одновременно, драйвер сам выстроит их в очередь, и второй чек напечатается сразу после первого без ошибок блокировки порта.
Если штатные средства 1С и драйверов не справляются (например, у вас касса «Меркурий» или «Вики Принт»), можно рассмотреть использование специализированных серверов печати, таких как KkmServer — решает задачу через сервер печати чеков для организации сетевой очереди.
Проанализируем шаги настройки:
Для корректного ведения учета остатков по денежным ящикам и управления сменами, программисты часто используют расширения. Рассмотрим логику, которую можно внедрить для автоматизации процесса закрытия смены:
&НаСервере
Процедура ПриОткрытииСменыПосле(Параметры)
// Проверяем, не открыта ли уже смена в базе данных для этого устройства
// Если на другом рабочем месте смена уже открыта,
// программно создаем документ "Кассовая смена" без обращения к фискальнику
Если СменаУжеОткрытаНаДругомРМ() Тогда
СоздатьТехнологическуюСмену();
КонецЕсли;
КонецПроцедуры
Такой подход позволяет избежать ситуации, когда один кассир закрыл смену в устройстве (Z-отчет вышел), а у второго кассира в 1С смена осталась «висеть» открытой, что блокирует продажи на следующий день. Для решения этой проблемы в базе можно использовать обработку для принудительного закрытия кассовой смены в 1С:Розница.
Разберем важные моменты, о которых часто забывают: 1. Маркировка (Честный Знак): При одновременной работе крайне важно использовать драйверы версии 10 и выше. Старые методы проброса портов могут искажать передачу криптохвоста марки, что приведет к ошибкам в ОФД.
2. Банковские терминалы: Если терминал один на двоих, его также придется настраивать через сетевой интерфейс или использовать автономный вариант. Если терминала два, а касса одна — проблем с печатью слип-чеков не будет, так как 1С отправляет их на печать последовательно как обычный текст.
Подведем итог: Реализация работы одной ККТ на два места в 1С:Розница 2.3 вполне возможна. Наилучшим вариантом сегодня является использование Web-сервера АТОЛ 10 или KkmServer, так как они обеспечивают автоматическое управление очередью чеков и стабильность связи без «костылей» с копированием системных файлов.