Почему в чеке ККТ не печатаются данные комитента (ИНН и телефон) из 1С:Бухгалтерии?

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

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

В этой статье мы подробно разберем, почему так происходит, как проверить корректность передачи данных из 1С в драйвер ККТ и какие настройки кассового оборудования влияют на отображение информации в бумажном чеке. Мы проанализируем ситуацию на примере популярного оборудования АТОЛ и выясним, является ли это ошибкой программы или особенностью законодательства.

Шаг 1. Анализ формирования XML-пакета в 1С

Первым делом нам необходимо выяснить: передает ли 1С данные о комитенте в драйвер кассового аппарата. Для этого мы воспользуемся механизмом отладки. В типовых конфигурациях 1С формирование XML-структуры для чека происходит в общих модулях, связанных с подключаемым оборудованием.

Проанализируем структуру данных. Согласно требованиям ФНС, данные агента передаются в специфических тегах. Рассмотрим фрагмент кода, который отвечает за формирование блока данных поставщика (VendorData) и данных агента (AgentData). Если вы программист, вам стоит обратить внимание на формирование структуры ПризнакАгента.

Посмотрим на пример структуры XML, которую 1С должна сформировать для передачи в драйвер:


// Пример структуры данных в XML-пакете для ККТ
<AgentData>
    <AgentSign>5</AgentSign> <!-- 5 соответствует комиссионеру -->
</AgentData>
<VendorData>
    <VendorINN>7700000000</VendorINN>
    <VendorName>ООО "Поставщик-Комитент"</VendorName>
    <VendorPhone>+79991112233</VendorPhone>
</VendorData>

Если при отладке в переменной, содержащей XML-пакет, эти данные присутствуют, значит, 1С свою работу выполнила корректно. Выясним причину, по которой данные не попадают на печать, перейдя к техническим параметрам оборудования.

Шаг 2. Проверка требований форматов фискальных данных (ФДД)

Важно понимать разницу между электронным чеком (который уходит в ОФД и налоговую) и бумажным чеком (который выдается клиенту). Согласно ФФД 1.05, 1.1 и 1.2, реквизиты «данные поставщика» (теги 1227, 1228, 1171) имеют разный статус обязательности:

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

Таким образом, если в личном кабинете ОФД в электронном чеке ИНН комитента виден, то юридически вы ничего не нарушаете, даже если на бумаге этих данных нет.

Шаг 3. Использование эмулятора ККТ для диагностики

Чтобы окончательно исключить ошибку в коде 1С, мы рекомендуем запустить проверку через «Эмулятор ККТ». Это встроенный программный драйвер, который имитирует работу кассы, но выводит результат в текстовое окно.

Выполним следующие действия:

  1. Перейдем в раздел «Администрирование» — «Подключаемое оборудование».
  2. Временно создадим новое устройство с типом «ККТ с передачей данных» и выберем драйвер «1С:Эмулятор ККТ (ФФД 1.2)».
  3. Установим это устройство в качестве основного для рабочего места.
  4. Попробуем пробить чек из того же ПКО.

Разберем результат: если в текстовом окне эмулятора реквизиты комитента появились, значит, проблема стопроцентно кроется в «железе» или настройках драйвера АТОЛ/Штрих-М. Если же и в эмуляторе их нет — необходимо проверять заполнение договора в 1С (признак договора «С комитентом (принципалом) на продажу» обязателен).

Шаг 4. Настройка драйвера и шаблонов чека (на примере АТОЛ)

Рассмотрим ситуацию с кассой АТОЛ 90Ф или аналогичными моделями. Эти аппараты имеют ограниченный объем памяти и жестко заданные шаблоны печати. Проанализируем настройки через «Тест драйвера ККТ» (версии 10.х): Для автоматического управления и корректировки параметров драйверов на множестве рабочих мест можно использовать решение для массового обновления настроек ККТ АТОЛ.

Войдем в «Свойства» — «Параметры ККТ». Нас интересует раздел «Печать» или «Шаблоны чеков». В современных прошивках АТОЛ существует возможность выбора между «Компактным», «Оптимальным» и «Полным» шаблонами. В компактном шаблоне данные агента часто скрыты.

Также стоит проверить параметр Печать реквизитов агента. В некоторых моделях он вынесен в отдельный флаг в таблицах параметров. Если этот флаг снят, принтер будет игнорировать теги 1227-1228 при формировании бумажной ленты.

Шаг 5. Работа с признаком способа расчета и признаком агента

Выясним еще одну важную деталь. В документе ПКО 1С:Бухгалтерии при получении аванса за комиссионный товар важно, чтобы программа понимала, что это именно комиссионная выручка. Посмотрим, как это реализовано в интерфейсе: При возникновении сложностей с выводом других обязательных реквизитов при последующем закрытии авансов можно использовать расширение для печати признака полного расчета в чеке ККМ.

В ПКО есть ссылка «Признак агента». При нажатии на нее открывается окно, где нужно выбрать «Комиссионер» и указать данные поставщика. Проанализируем, как эти данные попадают в обработку печати. В коде это выглядит примерно так:


// Фрагмент подготовки данных для драйвера
ПозицияЧека.ПризнакАгента = Перечисления.ПризнакиАгента.Комиссионер;
ДанныеАгента = Новый Структура();
ДанныеАгента.Вставить("НаименованиеПоставщика", КомитентНаименование);
ДанныеАгента.Вставить("ИННПоставщика", КомитентИНН);
ДанныеАгента.Вставить("ТелефонПоставщика", КомитентТелефон);
ПозицияЧека.Вставить("ДанныеАгента", ДанныеАгента);

Если вы обнаружили, что в вашем релизе 1С (например, старые версии 2019 года) эти поля не заполняются автоматически из ПКО, то единственным верным решением будет обновление конфигурации до актуального релиза. Рассмотрим сообщение (3) из обсуждения: переход на версию 3.0.70 и выше решал многие проблемы совместимости с обновленными драйверами ККТ. Для регулярного обслуживания информационных систем можно настроить автоматическое обновление баз 1С по расписанию в фоновом режиме.

Резюме и рекомендации

Проанализировав проблему, мы можем подвести итоги:

  1. Проверьте ОФД. Если в электронном чеке данные есть — проблема носит косметический характер и не является нарушением 54-ФЗ.
  2. Обновите драйвер ККТ. Для касс АТОЛ используйте драйвер версии 10.х, так как поддержка 8-й версии давно прекращена, и она некорректно работает с новыми тегами ФФД.
  3. Проверьте прошивку. Старые прошивки ККТ могли просто «не знать» о необходимости печати тега 1227.
  4. Настройте шаблон чека. В драйвере выберите «Полный» шаблон печати, который включает вывод всех дополнительных реквизитов.

Таким образом, отсутствие слова «ИНН комитента» на бумаге при его наличии в XML-пакете — это чаще всего настройка самого печатающего устройства, направленная на минимизацию расхода бумаги, а не ошибка в 1С.

← На главную