Почему в чеке ККТ АТОЛ не печатается наименование и ИНН покупателя и как это исправить

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

При оформлении расчетов между организациями и индивидуальными предпринимателями (B2B) с использованием наличных или электронных средств платежа, согласно 54-ФЗ, в кассовом чеке обязательно должны фигурировать наименование покупателя и его ИНН. Однако пользователи часто сталкиваются с ситуацией, когда в программе 1С данные заполнены, в XML-пакете, уходящем на драйвер, они присутствуют, но на бумажном чеке эти реквизиты отсутствуют. Рассмотрим подробно, как диагностировать и решить эту проблему на примере конфигурации «Управление торговлей 10.3» и драйверов АТОЛ 10-й серии.

Проверка формирования XML-пакета данных

Первым делом проанализируем ситуацию на уровне кода 1С. Выясним, доходят ли нужные атрибуты до программного интерфейса драйвера. В типовых решениях (даже сильно доработанных) за фискализацию отвечает общий модуль, работающий с подключаемым оборудованием. Проанализируем структуру XML, которую формирует 1С перед вызовом метода СформироватьЧек. Рассмотрим пример корректного узла Parameters:


<?xml version="1.0" encoding="UTF-8"?>
<CheckPackage>
    <Parameters PaymentType="1" TaxVariant="0" CashierName="Администратор" 
                CustomerEmail="" CustomerPhone="" 
                CustomerInfo="ИП Глоба Наталия Юрьевна" 
                CustomerINN="682600228270"/>
    <Positions>
        <!-- Состав чека -->
    </Positions>
    <Payments Cash="600" ElectronicPayment="0" />
</CheckPackage>

Обратим внимание на атрибуты CustomerInfo (наименование организации или ФИО ИП покупателя) и CustomerINN. Если эти данные присутствуют в XML, значит, программная часть 1С свою задачу выполнила. Если же этих атрибутов нет, необходимо копать в сторону заполнения объекта ПараметрыЧека в модуле менеджер документа или в обработке фискализации.

Обновление основного драйвера ККТ (ДТО)

Практика показывает, что версии драйверов АТОЛ ниже 10.5.0 имели нестабильную поддержку передачи тегов 1227 (наименование покупателя) и 1228 (ИНН покупателя) через интеграционную компоненту. Разберем шаги по обновлению программного обеспечения:

  1. Скачаем с сайта технической поддержки АТОЛ актуальную версию драйвера (рекомендуется 10.5.1 или выше, например, 10.9.x).
  2. Удалим старую версию драйвера через панель управления Windows.
  3. Установим новую версию драйвера, выбрав соответствующую разрядность (для 32-битного клиента 1С обязательно устанавливается 32-битный драйвер, даже на 64-битной ОС).

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

Обновление интеграционной компоненты в 1С v8.3 (Обычные формы)

Для конфигураций на обычных формах, таких как УТ 10.3, процедура обновления драйвера сложнее, чем в УТ 11. Здесь 1С часто использует внешнюю обработку обслуживания или библиотеку, зашитую непосредственно в макет конфигурации. Выясним, как обновить компоненту fptr10.dll (или Atol_KKT_1C83_V10.dll) вручную:

  1. Зайдем в режим «Конфигуратор».
  2. Найдем в дереве объектов справочник (или общие макеты), где хранится компонента. В УТ 10.3 это может быть макет в составе обработки ТОСервер или специализированная обработка обслуживания в справочнике «Обработки обслуживания ТО».
  3. Если компонента загружена как макет типа «Двоичные данные», необходимо заменить файл в макете на файл из папки установленного драйвера (обычно путь C:\Program Files (x86)\ATOL\Drivers10\KKT\bin\).
  4. Сохраним изменения и обновим конфигурацию базы данных.

Важный нюанс: Версия API в обработке обслуживания должна соответствовать возможностям компоненты. Если обработка использует API ревизии 2005, а компонента требует 3000, передача расширенных реквизитов может блокироваться.

Настройка шаблона чека в ККТ

Иногда драйвер и 1С передают данные корректно, но сама касса «не хочет» их печатать из-за настроек экономии бумаги. Разберем, как проверить параметры самой ККТ:

  1. Откроем «Тест драйвера ККТ», установим связь с устройством и перейдем в «Свойства».
  2. Зайдем в «Параметры ККТ» и найдем раздел «Печать чека» (или «Настройки шаблона»).
  3. Проверим значение параметра «Тип шаблона». Если установлен «Компактный», касса может игнорировать теги покупателя. Попробуем установить «Полный» или «Расширенный» шаблон.
  4. Убедимся, что ККТ работает по протоколу ФФД 1.05 или 1.1. В устаревшем ФФД 1.0 данные теги на уровне кассы не поддерживались.

Проверка типа оплаты и документа-основания

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


Если Объект.Контрагент.ВидКонтрагента = Перечисления.ВидыКонтрагентов.ЮрЛицо Тогда
    ПараметрыЧека.CustomerInfo = Объект.Контрагент.НаименованиеПолное;
    ПараметрыЧека.CustomerINN  = Объект.Контрагент.ИНН;
КонецЕсли;

Выясним причину, по которой данные могут не попадать в структуру ПараметрыЧека. Часто программисты забывают, что для ИП также необходимо передавать ИНН и ФИО, поэтому условие проверки типа контрагента должно быть шире. Также убедимся, что в поле CustomerINN не попадают лишние пробелы или спецсимволы, так как драйвер АТОЛ 10 строго валидирует формат ИНН (10 или 12 цифр).

Заключение

Для исправления проблемы непечатаемых реквизитов покупателя необходимо выполнить комплекс мер: обновить физический драйвер в системе до версии 10.5.1, заменить интеграционную библиотеку в макетах 1С на актуальную и убедиться, что XML-пакет содержит атрибуты CustomerInfo и CustomerINN. Сочетание этих действий гарантирует соответствие чека требованиям 54-ФЗ при расчетах между организациями.

← На главную