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

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

При подключении контрольно-кассовой техники (ККТ) с передачей данных к конфигурациям 1С, в частности к 1С:Управление торговлей 11, пользователи нередко сталкиваются с ситуацией, когда на печатной форме чека и в электронных реквизитах фискального документа вместо фамилии и инициалов реального сотрудника выводится надпись «СИС. АДМИНИСТРАТОР», «Системный администратор» или произвольные цифровые коды. Разберем по шагам, почему возникает такое поведение оборудования и как настроить корректную печать кассира.

Выясним причину некорректного вывода имени кассира

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

  1. Использование устаревшего типа драйвера или обработки: если касса подключена по старой схеме как «Фискальный регистратор», а не как «ККТ с передачей данных», 1С не передает реквизит кассира динамически в момент закрытия чека. В этом случае касса берет данные оператора из внутренней таблицы «Пользователи и пароли».
  2. Пустое значение тега в пакете фискализации: в ранних версиях Библиотеки подключаемого оборудования (БПО) для линейки 11.3 (например, 11.3.2) встречались ошибки, из-за которых параметр кассира передавался в драйвер пустой строкой. Если ККТ получает пустую строку в теге 1021, она автоматически подставляет имя пользователя по номеру системного пароля связи (по умолчанию строка № 30 — «Системный администратор»).
  3. Не заполнены данные физического лица: имя кассира в 1С формируется на основании данных связанного справочника ФизическиеЛица. Если у пользователя программы реквизит ФизическоеЛицо не заполнен, в процедуру передачи параметров попадает пустое значение.
  4. Открытие кассовой смены под администратором: в некоторых версиях прошивок ККТ АТОЛ имя оператора, открывшего смену, жестко фиксировалось на всю продолжительность смены.

Способ 1. Программная передача кассира в обработке обслуживания

Рассмотрим доработку механизмов передачи параметров чека в драйвер. Если обновление конфигурации до актуального релиза невозможно, передачу тега 1021 можно исправить в коде модуля интеграции торгового оборудования. Для этого в структуру параметров фискализации необходимо явно передать признак работы по ФЗ-54 и имя текущего кассира.

Посмотрим на пример формирования структуры вызова в общем модуле или обработке обслуживания:


// В обработке обслуживания формируем расширенную структуру параметров
Объект = Новый Структура("Параметры, Драйвер, ОписаниеОшибки, ИДУстройства, Чек, ПризнакВозврата, ШиринаЧека, Модель, ФЗ54",
                         Параметры, Драйвер, ОписаниеОшибки, ИДУстройства, Чек, ПризнакВозврата, ШиринаЧека, Модель, Истина);

// В серверном модуле торгового оборудования проверяем признак 54-ФЗ
Если Объект.Свойство("ФЗ54") Тогда
    // Вызываем фискализацию чека с явным указанием автора продажи
    Результат = Обработка.ЗакрытьЧек(Объект, СуммаНал, СуммаБезнал, ЧекКассир, НомерЧека);
Иначе
    Результат = Обработка.ЗакрытьЧек(Объект, СуммаНал, СуммаБезнал);
КонецЕсли;

Проанализируем процедуру закрытия чека на стороне драйвера. В функцию ЗакрытьЧек добавляется параметр ЧекКассир, который передается в метод драйвера СформироватьЧек:


Функция ЗакрытьЧек(Объект, СуммаНал, СуммаБезнал, ЧекКассир = "", НомерЧека) Экспорт

    // Проверяем заполнение имени кассира и передаем его в драйвер оборудования
    ИмяОператора = ?(ЧекКассир = "", СокрЛП(Кассир), ЧекКассир);

    Если НЕ Объект.Драйвер.СформироватьЧек(Объект.ИДУстройства, ИмяОператора, Электронно, ДанныеЧека, НомерЧека, НомерСмены, ФискальныйПризнак, AddressSiteInspections) Тогда
        // Обработка ошибки формирования чека
        Возврат Ложь;
    КонецЕсли;

    Возврат Истина;

КонецФункции

Такой подход гарантирует, что драйвер ККТ получит актуальное имя сотрудника при печати каждого отдельного документа продажи.

Способ 2. Корректировка таблиц пользователей в драйвере ККТ

Разберем аппаратный способ решения, который применяется, если 1С не передает имя кассира программно, а использует авторизацию по паролю оператора:

  1. Закрываем сеанс 1С:Предприятие на рабочем месте кассира.
  2. Запускаем утилиту «Тест драйвера ККТ» (DTO 8, DTO 9 или DTO 10 в зависимости от установленной версии).
  3. Устанавливаем связь с аппаратом, переходим в раздел «Программирование» (или «Параметры ККТ») и открываем таблицу «Пользователи и пароли» (Таблица 2).
  4. Находим строку с номером 30 (по умолчанию там прописан пароль 30 и имя СИС. АДМИНИСТРАТОР). Заменяем текст на необходимое наименование должности (например, «Кассир») либо на ФИО конкретного сотрудника.
  5. Записываем изменения в память кассы.

Важное предостережение: при редактировании таблиц ККТ учитывайте ограничения внутренней памяти устройства. В ККТ АТОЛ длина поля имени оператора ограничена (от 16 до 28 символов в зависимости от модели и прошивки). Если строка превышает лимит или содержит неподдерживаемые символы, касса может выдавать числовой код ошибки вместо текста или сбрасывать строку на системное значение по умолчанию.

Способ 3. Персональное распределение паролей кассиров

Если на одной кассе работают несколько сотрудников без доработки конфигурации 1С, разберем по шагам распределение учетных записей через драйвер:

  1. В таблице пользователей ККТ заполняем строки с 1 по 28 фамилиями реальных кассиров и задаем для них индивидуальные пароли (например, номер строки соответствует паролю).
  2. В 1С открываем раздел «НСИ и администрирование» — «Подключаемое оборудование».
  3. Открываем карточку настроенной ККТ и в параметрах подключения переопределяем поле «Пароль пользователя» (или «Пароль кассира»), указав номер нужного сотрудника вместо значения по умолчанию (30).
  4. Для каждого отдельного рабочего места (терминального сеанса) настраивается свой пароль доступа к фискальному регистратору.

Способ 4. Проверка реквизитов пользователя и обновление БПО

Проанализируем стандартные настройки программы 1С:

  1. Переходим в раздел «НСИ и администрирование» — «Настройки пользователей и прав» — «Пользователи».
  2. Открываем учетную запись кассира и проверяем, привязано ли к ней ФизическоеЛицо. Если поле пустое, создаем или выбираем соответствующее физическое лицо с заполненными реквизитами ФИО и ИНН.
  3. Проверяем тип используемого оборудования: в списке «Подключаемое оборудование» касса должна быть зарегистрирована строго с типом «ККТ с передачей данных». Если касса заведена как «Фискальный регистратор», создаем подключение заново под актуальным стандартом.
  4. Рекомендуется выполнить обновление конфигурации 1С:Управление торговлей до релизов линеек 11.3.4 или 11.4 (либо обновить саму БПО). В актуальных версиях подсистемы оборудование передает реквизиты кассира по протоколу ФФД штатно и без сбоев.
← На главную