Почему в чеке ККМ печатается «Системный администратор» вместо имени кассира и как это исправить

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

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

Разберем подробно, откуда кассовый аппарат берет эту информацию, почему имя не подставляется автоматически из 1С и какими способами можно исправить ситуацию.

Причины вывода системного имени на чеке

Проанализируем техническую сторону взаимодействия 1С и контрольно-кассовой техники (ККТ):

  1. Хранение пользователей во внутренней памяти кассы: В классических протоколах работы фискальных регистраторов (в частности, оборудования АТОЛ и Штрих-М) имя кассира не всегда передается произвольным текстом. Драйвер опрашивает внутреннюю таблицу ККТ под названием «Пользователи» (или «Операторы»). Выбор конкретного имени осуществляется по переданному номеру пароля. В большинстве обработок обслуживания 1С по умолчанию установлен пароль администратора (обычно 30). В 30-й строке таблицы драйвера ККТ по умолчанию жестко прописано системное значение: «Системный администратор».
  2. Особенности передачи тегов по 54-ФЗ (ФФД): В современных версиях формата фискальных документов ФИО кассира должно передаваться динамически через обязательный Тег 1021 («Кассир») и опциональный Тег 1203 («ИНН кассира»). Если в базе используется устаревшая обработка обслуживания торгового оборудования или типовой механизм не передает заполненный тег, касса берет резервные данные из своей внутренней таблицы.
  3. Отсутствие привязки пользователя к физическому лицу: В коде типовых конфигураций имя кассира берется не из наименования учетной записи, а из связанного справочника ФизическиеЛица. Если поле пустое, тег остается незаполненным.

Способ 1. Изменение имени в таблицах драйвера ККТ

Это самый быстрый и надежный способ устранить проблему, если доработка конфигурации не требуется, а за кассовым аппаратом закреплен один постоянный сотрудник либо используется общий пароль.

Разберем по шагам порядок действий:

  1. Закроем программу 1С:Предприятие, чтобы освободить порт подключения к кассе.
  2. Запустим утилиту «Тест драйвера ККТ» (для касс АТОЛ или Штрих-М).
  3. Установим флаг связи с кассой и перейдем в раздел «Параметры ККТ» (или «Таблицы»).
  4. Откроем таблицу «Пользователи» (в драйверах АТОЛ это раздел настройки операторов/пользователей).
  5. Найдем строку с номером 30 (соответствует системному паролю администратора 30, используемому 1С по умолчанию).
  6. Изменим текст в поле имени: вместо строки «Системный администратор» введем необходимое имя сотрудника, например, «Кассир: Иванова И. И.».
  7. Сохраним изменения в ККТ, отключимся от драйвера и запустим 1С.

Способ 2. Проверка заполнения реквизитов пользователя в 1С

Если драйвер кассы настроен на прием динамических данных из учетной системы, выясним, почему 1С не передает нужные реквизиты.

Выполним проверку справочников программы:

  1. Перейдем в меню: Справочники → Пользователи.
  2. Откроем карточку пользователя, под которым пробиваются чеки ККМ.
  3. Проверим заполнение реквизита «Физ. лицо». Если поле пустое, выберем соответствующего сотрудника из справочника ФизическиеЛица.
  4. В карточке физического лица убедимся, что полностью указаны Фамилия, Имя, Отчество и заполнен реквизит ИНН (согласно требованиям 54-ФЗ для реквизита Тег 1203).

Способ 3. Программная передача кассира при формировании чека

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

Рассмотрим пример кода, где проверяется и подставляется имя ответственного сотрудника из сеанса или документа:


// Определение кассира из текущего пользователя или ответственного документа
Если ЗначениеЗаполнено(ЧекККМ.Ответственный) Тогда
    Если ЗначениеЗаполнено(ЧекККМ.Ответственный.ФизЛицо) Тогда
        КассирФИО = ЧекККМ.Ответственный.ФизЛицо.Наименование;
    Иначе
        КассирФИО = ЧекККМ.Ответственный.Наименование;
    КонецЕсли;
Иначе
    КассирФИО = ПараметрыСеанса.ТекущийПользователь.Наименование;
КонецЕсли;

// Заполнение структуры параметров фискализации для передачи в драйвер
ОбщиеПараметры.Кассир = КассирФИО;

При использовании прямого обращения к объекту драйвера ККТ для фискализации чека тег кассира передается следующим образом:


// Передача обязательного реквизита "Кассир" (Тег 1021)
ОбъектДрайвера.AttrNumber = 1021;
ОбъектДрайвера.AttrValue  = КассирФИО;
ОбъектДрайвера.WriteAttribute();

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

← На главную