При работе в конфигурации «1С:Управление торговлей 10.3» (или аналогичных конфигурациях на обычных формах) пользователи нередко сталкиваются с ситуацией: в программе вход выполнен под конкретным кассиром, документ оформлен корректно, но на бумажной кассовой ленте в строке кассира упорно печатается «Системный администратор».
Разберем подробно, откуда кассовый аппарат берет эту информацию, почему имя не подставляется автоматически из 1С и какими способами можно исправить ситуацию.
Проанализируем техническую сторону взаимодействия 1С и контрольно-кассовой техники (ККТ):
30). В 30-й строке таблицы драйвера ККТ по умолчанию жестко прописано системное значение: «Системный администратор».ФизическиеЛица. Если поле пустое, тег остается незаполненным.Это самый быстрый и надежный способ устранить проблему, если доработка конфигурации не требуется, а за кассовым аппаратом закреплен один постоянный сотрудник либо используется общий пароль.
Разберем по шагам порядок действий:
30, используемому 1С по умолчанию).Если драйвер кассы настроен на прием динамических данных из учетной системы, выясним, почему 1С не передает нужные реквизиты.
Выполним проверку справочников программы:
Справочники → Пользователи.ФизическиеЛица.Тег 1203).В конфигурациях 1С передача имени кассира выполняется на этапе подготовки параметров фискализации в обработке обслуживания торгового оборудования.
Рассмотрим пример кода, где проверяется и подставляется имя ответственного сотрудника из сеанса или документа:
// Определение кассира из текущего пользователя или ответственного документа
Если ЗначениеЗаполнено(ЧекККМ.Ответственный) Тогда
Если ЗначениеЗаполнено(ЧекККМ.Ответственный.ФизЛицо) Тогда
КассирФИО = ЧекККМ.Ответственный.ФизЛицо.Наименование;
Иначе
КассирФИО = ЧекККМ.Ответственный.Наименование;
КонецЕсли;
Иначе
КассирФИО = ПараметрыСеанса.ТекущийПользователь.Наименование;
КонецЕсли;
// Заполнение структуры параметров фискализации для передачи в драйвер
ОбщиеПараметры.Кассир = КассирФИО;
При использовании прямого обращения к объекту драйвера ККТ для фискализации чека тег кассира передается следующим образом:
// Передача обязательного реквизита "Кассир" (Тег 1021)
ОбъектДрайвера.AttrNumber = 1021;
ОбъектДрайвера.AttrValue = КассирФИО;
ОбъектДрайвера.WriteAttribute();
Важное примечание: При открытии и закрытии кассовой смены (Z-отчет) некоторые фискальные регистраторы формируют сервисный заголовок исключительно средствами прошивки ККТ. В этом случае имя на отчете смены берется напрямую из таблицы пользователей по переданному паролю (Способ 1), даже если в чеках продажи имя передается динамически.