Как исправить ошибку «Тег кассира не заполнен» в 1С:УНФ при пробитии чека?

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

Обновление конфигурации в экосистеме 1С — это процедура, которая часто приносит не только новые возможности, но и неожиданные технические сложности. Одной из наиболее резонансных проблем, с которой сталкиваются пользователи после перехода на новые релизы 1С:Управление нашей фирмой (УНФ) (например, при переходе на редакцию 1.6.15 и последующие версии), является блокировка печати чеков онлайн-кассой. На экране пользователя появляется критическая ошибка: «Тег кассира не заполнен» (в терминологии форматов фискальных документов — Тег 1021).

Эта ошибка полностью останавливает работу розничной точки, так как ККТ отказывается фискализировать продажи без корректно переданных данных сотрудника. В данной статье мы детально разберем природу этого сбоя, проанализируем законодательные требования ФНС и рассмотрим пошаговый алгоритм устранения проблемы в настройках 1С:УНФ.

Законодательные требования к фискальным документам: почему ККТ требует Тег 1021

Для того чтобы понять логику программы 1С и подключенного оборудования, обратимся к нормативной базе. Согласно Федеральному закону № 54-ФЗ, регламентирующему применение контрольно-кассовой техники, любой выдаваемый покупателю чек должен содержать обязательный перечень реквизитов. В этот перечень входит ФИО лица, осуществившего расчет с покупателем — то есть кассира.

В соответствии с форматами фискальных документов (ФФД версий 1.05, 1.1 и 1.2), за этот реквизит отвечает Тег 1021 («Кассир»). Если продажа осуществляется при участии человека, данный тег должен быть обязательно передан в кассу и записан в фискальный накопитель. Единственным исключением из этого правила являются расчеты через автоматические устройства (например, торговые автоматы или платежные терминалы самообслуживания), где вместо имени кассира в чек записывается номер автомата (Тег 1036).

При обновлении конфигурации 1С:УНФ происходит обновление встроенной Библиотеки подключаемого оборудования (БПО). Новые версии БПО строго следуют правилам ФФД и блокируют отправку команды печати, если в структуре XML-пакета, посылаемого на ККТ, отсутствуют обязательные реквизиты кассира. Если в старых релизах касса могла автоматически подставлять дефолтное имя из своей внутренней памяти, то современные стандарты требуют передачи этих данных непосредственно из учетной системы.

Шаг 1. Настройка тройной связки «Пользователь — Сотрудник — Физическое лицо»

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

  1. Откроем программу под правами администратора и перейдем в раздел Администрирование.
  2. В открывшемся окне выберем пункт Настройки пользователей и прав, а затем перейдем в справочник Пользователи.
  3. Найдем в списке пользователя, у которого возникает ошибка при пробитии чека, и откроем его карточку.
  4. В верхней панели навигации карточки пользователя найдем гиперссылку Сотрудники пользователя. Обратите внимание, что без этого сопоставления программа не сможет определить, какое именно физическое лицо совершает операцию.
  5. В открывшейся форме сопоставления добавим запись и привяжем к пользователю соответствующего сотрудника из справочника Сотрудники.
  6. В карточке сотрудника перейдем к связанному объекту справочника ФизическиеЛица. Нам необходимо убедиться, что у данного физического лица корректно заполнено поле ФИО. Именно текстовое значение из этого поля будет передаваться в кассу в качестве Тега 1021.
  7. Нажмем кнопку Записать и закрыть на всех открытых формах для сохранения параметров.

Шаг 2. Проверка и заполнение ИНН кассира (Тег 1203)

Многие пользователи утверждают, что сопоставление пользователя и физического лица выполнено, но ошибка «Тег кассира не заполнен» все равно продолжает появляться. Проанализируем эту ситуацию глубже. В современных прошивках онлайн-касс АТОЛ, Штрих-М и других производителей, помимо имени кассира, обязательным к передаче является его ИНН (Тег 1203).

Если в карточке физического лица в 1С поле ИНН оставлено незаполненным, то при формировании пакета данных БПО может сформировать пустой блок кассира или передать некорректную структуру данных. Драйвер кассы, получив пакет без ИНН, расценивает это как нарушение протокола ФФД и возвращает ошибку кассира. Чтобы исправить это, выполним следующие действия:

  1. Перейдем в справочник Физические лица (его можно открыть напрямую из карточки сотрудника или через общий поиск).
  2. Найдем нужного сотрудника и заполним поле ИНН. Убедитесь, что введен корректный 12-значный номер налогоплательщика.
  3. Сохраним изменения. Теперь при формировании чека программа передаст на ККТ и ФИО, и ИНН кассира.

Шаг 3. Устранение технических конфликтов на уровне драйвера ККТ

Выясним еще одну причину сбоя, которая кроется на стыке взаимодействия платформы 1С и системного ПО компьютера. При обновлении конфигурации 1С:УНФ с релиза 1.6.14 до 1.6.15 БПО начинает использовать новые программные интерфейсы (API) для общения с драйверами торгового оборудования.

Если на рабочем месте кассира установлен устаревший системный драйвер ККТ (например, АТОЛ ДТО 8.х или ДТО 9.х), он не сможет корректно распознать новые параметры передачи тегов, присылаемые из 1С. В результате драйвер «теряет» данные кассира в процессе передачи команды на печать, и касса выдает ошибку. Для решения этой проблемы выполним обновление программного обеспечения:

  1. Скачаем с официального сайта производителя кассы актуальный драйвер (например, для ККТ АТОЛ 30Ф это будет ДТО версии 10.x).
  2. Установим драйвер на рабочий компьютер, предварительно закрыв все сессии 1С.
  3. Запустим 1С, перейдем в меню Администрирование -> Подключаемое оборудование.
  4. Откроем карточку нашей онлайн-кассы и обновим интеграционную компоненту драйвера внутри 1С до актуальной версии.
  5. Нажмем кнопку Настроить и проведем Тест устройства. Система должна выдать сообщение об успешном подключении ККТ.

Шаг 4. Настройка параметров по умолчанию в Рабочем месте кассира

Рассмотрим ситуацию, когда в магазине используется одна ККТ, но под ней работают несколько менеджеров. Если в настройках РМК не задан основной ответственный пользователь по умолчанию, программа может передавать на кассу пустые значения при автоматическом открытии или закрытии смены.

Рекомендуется зайти в настройки рабочего места кассира и проверить реквизит «Основной ответственный». Здесь должен быть указан профиль пользователя, у которого выполнены все шаги по привязке физического лица и ИНН. Это гарантирует, что даже при возникновении спорных ситуаций программа всегда будет иметь резервный корректный профиль для заполнения тега кассира.

Пример программного формирования тегов в БПО

Для понимания того, как учетная система передает данные на аппаратный уровень, рассмотрим упрощенный пример кода, который выполняется в недрах конфигурации при подготовке XML-пакета для фискализации чека:


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

Данный фрагмент кода наглядно демонстрирует, почему при отсутствии связи между ТекущийПользователь и объектом ФизическоеЛицо структура параметров уходит на кассу пустой, вызывая отказ ККТ печатать документ.

Резюме и альтернативный сценарий решения

Если все вышеперечисленные настройки выполнены, но касса упорно отказывается печатать чеки, имеет смысл применить обходной маневр, который помог автору темы на форуме. Иногда в процессе обновления метаданные конфигурации обновляются некорректно из-за накопившихся кэш-файлов платформы. В таком случае помогает откат на резервную копию базы до обновления, последовательная очистка кэша сервера и локального ПК, и повторное накатывание обновления конфигурации 1С:УНФ на чистую базу.

Выполнение этих простых, но системных шагов позволит вам навсегда избавиться от ошибки «Тег кассира не заполнен» и обеспечить стабильную работу розничной торговой точки в полном соответствии с требованиями законодательства.

← На главную