Как настроить работу нескольких продавцов на одной кассе ККМ под одним пользователем в 1С:Управление торговлей

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

При организации розничных продаж в магазинах с высокой проходимостью часто возникает классическая дилемма. С одной стороны, за кассовым аппаратом посменно или даже одновременно работают несколько продавцов-консультантов. С другой стороны, постоянный перезапуск программы 1С для смены пользователя занимает слишком много времени, тормозит очередь и негативно сказывается на лояльности покупателей. Кроме того, создание десятков учетных записей в условиях высокой текучести кадров превращается в головную боль для системного администратора.

В этой статье мы подробно проанализируем ситуацию, разберем методические и юридические нюансы работы нескольких сотрудников на одной кассе в «1С:Управление торговлей 11» (на примере редакции 11.3/11.4), а также рассмотрим варианты решения — от стандартных настроек до доработки системы с помощью расширения.

---

В чем сложность: юридический и технический аспекты

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

  1. Требования 54-ФЗ (Юридический аспект). Согласно законодательству РФ о применении контрольно-кассовой техники, в каждом кассовом чеке обязательно должны быть указаны реквизиты: ФИО кассира (тег 1021) и его ИНН (тег 1203). Если на кассе фактически работает Иванов, а в чеке печатается «Кассир 1» или данные уволенного сотрудника Петрова, это является прямым нарушением, за которое контролирующие органы могут наложить штраф.
  2. Привязка оборудования (Технический аспект). В «1С:Управление торговлей» подключение торгового оборудования (фискального регистратора, эквайрингового терминала) жестко привязано к связке «Компьютер + Пользователь 1С» (рабочее место). Если мы начнем постоянно перезаходить под разными пользователями, нам придется настраивать оборудование для каждого из них, либо система будет постоянно выдавать ошибки о доступности ККТ.

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

---

Вариант 1. Разделение понятий «Кассир» и «Продавец» (Штатный функционал)

Рассмотрим подробнее стандартный механизм, заложенный разработчиками 1С. В типовой конфигурации методически разделены две роли:

Если ваша единственная цель — вести учет личных продаж для расчета премий, в УТ 11 предусмотрен штатный механизм:

Шаг 1. Перейдем в настройки программы и активируем опцию фиксации личных продаж менеджеров в настройках РМК (Рабочего места кассира).

Шаг 2. Каждому продавцу в справочнике «Физические лица» (или «Сотрудники») сопоставим персональную пластиковую карту или бейдж со штрихкодом.

Шаг 3. При оформлении продажи в РМК перед сканированием товаров продавец считывает свой штрихкод. Система автоматически подставляет его в табличную часть Товары в качестве продавца для конкретной строки или для всего документа в целом.

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

---

Вариант 2. Использование обезличенных пользователей (Административный метод)

Разберем компромиссный вариант, который часто применяется на практике для обхода проблемы высокой текучести кадров без изменения программного кода.

Вместо создания именных учетных записей (ИвановИИ, ПетровПП) в базе данных создаются служебные пользователи под номерами:

При приеме на работу нового сотрудника за ним внутренним приказом закрепляется определенный номер (например, Кассир №2). В справочнике пользователей 1С для этого пользователя временно меняется ФИО физического лица на актуальные данные нового сотрудника. При его увольнении учетная запись не удаляется — в ней просто меняются ФИО и ИНН на данные следующего принятого работника.

Плюсы метода: не нужно плодить сотни неактивных пользователей в базе данных, настройки торгового оборудования для «Кассир №1» остаются неизменными.

Минусы: все еще требуется перезапуск сеанса 1С при пересменке, что неудобно при быстрой смене сотрудников в течение дня.

---

Вариант 3. Быстрая смена физического лица через параметры сеанса (Доработка РМК)

Если требуется идеальное решение: работа под одним пользователем 1С, моментальная авторизация продавца на кассе (например, по штрихкоду бейджа или PIN-коду) и передача его реальных ФИО/ИНН в ККТ — без программирования не обойтись. Проанализируем, как реализовать такую доработку через механизм расширений конфигурации, не снимая основную конфигурацию УТ 11 с поддержки.

Нам потребуется внести изменения в три ключевые точки системы:

  1. Добавить реквизит ФизическоеЛицо в документ ЧекККМ и вывести его на форму РМК.
  2. Организовать интерфейс авторизации (блокировки экрана) в РМК.
  3. Перехватить процедуру фискализации БПО (Библиотеки подключаемого оборудования), чтобы подменять данные кассира при отправке на принтер чеков.

Рассмотрим пример программной реализации подмены данных кассира перед отправкой чека на печать. Нам нужно перехватить процедуру формирования фискального чека. В современных версиях БПО для этого используется переопределение параметров фискализации.

Посмотрим на пример кода, который внедряется в модуль менеджера оборудования или обработчик фискализации через расширение:


&Вместо("ПодготовитьДанныеДляПечатиЧека")
Процедура Мой_ПодготовитьДанныеДляПечатиЧека(ПараметрыПечати, ДокументОбъект) Экспорт
    
    // Сначала вызываем стандартную обработку формирования данных
    ПродолжитьВызов(ПараметрыПечати, ДокументОбъект);
    
    // Проверим, заполнен ли наш кастомный реквизит "ФизическоеЛицо" в документе ЧекККМ
    Если ТипЗнч(ДокументОбъект) = Тип("ДокументСсылка.ЧекККМ") И ЗначениеЗаполнено(ДокументОбъект.ФизическоеЛицо) Тогда
        
        ФизЛицоОбъект = ДокументОбъект.ФизическоеЛицо;
        
        // Получаем ФИО и ИНН реального сотрудника, который пробивает чек
        ФИОКассира = ФизЛицоОбъект.Наименование;
        ИННКассира = ФизЛицоОбъект.ИНН;
        
        // Подменяем данные кассира в структуре параметров, отправляемой на драйвер ККТ
        Если ПараметрыПечати.Свойство("ТаблицаКассиры") Тогда
            // Вариант для некоторых старых драйверов
            ПараметрыПечати.Кассир = ФИОКассира;
            ПараметрыПечати.ИННКассира = ИННКассира;
        Иначе
            // Стандартный путь для современных версий БПО (ФФД 1.05 / 1.2)
            ПараметрыПечати.Вставить("Кассир", ФИОКассира);
            ПараметрыПечати.Вставить("КассирИНН", ИННКассира);
        КонецЕсли;
        
    КонецЕсли;

КонецПроцедуры

При такой реализации логика работы кассиров на рабочем месте выглядит следующим образом:

  1. Утром старший кассир запускает 1С под служебным пользователем Касса_Магазин_1. Оборудование инициализируется один раз и готово к работе.
  2. Экран РМК находится в режиме ожидания (заблокирован).
  3. Подходит продавец Иванов, сканирует штрихкод своего бейджа. 1С перехватывает событие сканирования, находит физлицо «Иванов И.И.», записывает его в параметр сеанса как текущего активного сотрудника и разблокирует интерфейс РМК.
  4. Иванов подбирает товары и нажимает кнопку оплаты. При формировании чека система подставляет Иванова в реквизит ФизическоеЛицо документа ЧекККМ.
  5. В момент печати чека наш код перехватывает процедуру БПО, забирает ФИО и ИНН Иванова и отправляет их в ККТ. Покупатель получает чек с корректными реквизитами.
  6. После пробития чека (или по таймауту бездействия в 30 секунд) экран РМК снова автоматически блокируется до тех пор, пока следующий сотрудник (например, Петров) не отсканирует свой бейдж.

Этот подход полностью решает проблему очередей, исключает необходимость администрирования лишних пользователей 1С, обеспечивает точнейший учет личных продаж и гарантирует абсолютное соответствие требованиям 54-ФЗ.

← На главную