При работе с торговым оборудованием часто возникает ситуация, когда в обычных чеках продажи фамилия кассира отображается корректно, а при выполнении регламентных операций — таких как открытие или закрытие смены (Z-отчет) — на чеке печатается «старый» сотрудник или абстрактный «Администратор». Рассмотрим подробно, как устроена эта механика в связке 1С:Розница 2.3 и драйверов Штрих-М, и выясним, где именно нужно внести изменения.
Начнем с проверки настроек внутри самой программной оболочки 1С. В конфигурации 1С:Розница данные о том, кто именно совершает операцию, берутся не из имени входа в систему, а из связанного справочника физических лиц. Проанализируем цепочку данных, которую проходит программа:
Если в карточке физического лица указаны неактуальные данные, то при формировании XML-пакета для драйвера ККТ 1С передаст именно их. Разберем ситуацию: если программа не находит заполненный ИНН, некоторые версии драйверов могут отклонить программную передачу имени кассира и «откатиться» к внутренним настройкам самого аппарата. Для автоматической подстановки данных фактического продавца в кассовый чек вместо пользователя сеанса можно использовать расширение для вывода ФИО и ИНН продавца в чеках ККМ.
Если в 1С все настроено верно, но на чеке открытия/закрытия смены все равно печатается неверная фамилия, значит, проблема кроется в энергонезависимой памяти самого фискального регистратора. В ККТ Штрих-М существует внутренняя таблица (обычно это Таблица №2 «Кассиры»), где хранятся имена сотрудников, привязанные к их порядковым номерам и паролям.
Рассмотрим, почему это происходит именно при открытии/закрытии смены. В отличие от чека продажи, где 1С передает полные данные кассира (Тег 1021), команды на открытие и закрытие смены часто используют упрощенную авторизацию по паролю. Посмотрим на алгоритм работы драйвера:
30.30.Чтобы исправить это, нам необходимо изменить данные в самом аппарате. Выполним следующие шаги:
Выясним, какой именно пароль использует 1С для авторизации операций. Проанализируем настройки в интерфейсе программы:
Если там стоит значение 30, то аппарат всегда будет брать имя из 30-й строки своей таблицы при закрытии смены, если 1С не переопределяет это значение программно. Проанализируем ситуацию: многие системные администраторы специально прописывают в 30-ю строку ФИО директора или ответственного лица, так как по закону отчет о закрытии смены должен подписываться лицом, имеющим на это полномочия, а не рядовым продавцом. Если вы хотите, чтобы печаталось имя текущего пользователя, убедитесь, что драйвер настроен на приоритет передачи данных из программного обеспечения.
В современных реалиях работы по ФФД 1.05 и выше, 1С формирует структуру XML, которую передает драйверу. Проанализируем пример того, как данные кассира должны выглядеть в программном коде (или логах драйвера):
<Positions>
<FiscalString Name="Товар 1" Quantity="1" Price="100" Amount="100" Department="1" Tax="20" />
</Positions>
<Cashier Name="Петров Петр Петрович" Vatin="123456789012" />
Если в логах драйвера вы видите, что в блоке Cashier передается пустое значение или старая фамилия, значит, проблема однозначно на стороне 1С (в справочнике Физические лица). Если же в логах передается правильное ФИО, а на чеке печатается старое — проблема в настройках драйвера Штрих-М, который игнорирует входящий XML и использует свои внутренние таблицы.
Рассмотрим настройку драйвера, отвечающую за приоритет данных. В «Тесте драйвера» перейдем в Таблицу 2 (Фискальный регистратор). Там есть поле, которое может называться «Реквизиты кассира» или «Печать кассира». Если установить значение 0, аппарат будет ожидать данные от программы. Если установлено иное значение, ККТ может принудительно подставлять данные из своей внутренней таблицы кассиров.
Резюмируем план действий:
Проделав эти шаги, мы добьемся того, что отчеты об открытии и закрытии смены будут содержать актуальные данные ответственного сотрудника, соответствующие требованиям законодательства.