При оформлении расчетов между организациями и индивидуальными предпринимателями (B2B) с использованием наличных или электронных средств платежа, согласно 54-ФЗ, в кассовом чеке обязательно должны фигурировать наименование покупателя и его ИНН. Однако пользователи часто сталкиваются с ситуацией, когда в программе 1С данные заполнены, в XML-пакете, уходящем на драйвер, они присутствуют, но на бумажном чеке эти реквизиты отсутствуют. Рассмотрим подробно, как диагностировать и решить эту проблему на примере конфигурации «Управление торговлей 10.3» и драйверов АТОЛ 10-й серии.
Первым делом проанализируем ситуацию на уровне кода 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.3, процедура обновления драйвера сложнее, чем в УТ 11. Здесь 1С часто использует внешнюю обработку обслуживания или библиотеку, зашитую непосредственно в макет конфигурации. Выясним, как обновить компоненту fptr10.dll (или Atol_KKT_1C83_V10.dll) вручную:
ТОСервер или специализированная обработка обслуживания в справочнике «Обработки обслуживания ТО».C:\Program Files (x86)\ATOL\Drivers10\KKT\bin\).Важный нюанс: Версия API в обработке обслуживания должна соответствовать возможностям компоненты. Если обработка использует API ревизии 2005, а компонента требует 3000, передача расширенных реквизитов может блокироваться.
Иногда драйвер и 1С передают данные корректно, но сама касса «не хочет» их печатать из-за настроек экономии бумаги. Разберем, как проверить параметры самой ККТ:
Проанализируем ситуацию с документом Приходный кассовый ордер (ПКО). При печати из ПКО 1С должна понимать, что расчет происходит между контрагентами. Посмотрим на фрагмент кода, который отвечает за передачу данных покупателя в типовых решениях:
Если Объект.Контрагент.ВидКонтрагента = Перечисления.ВидыКонтрагентов.ЮрЛицо Тогда
ПараметрыЧека.CustomerInfo = Объект.Контрагент.НаименованиеПолное;
ПараметрыЧека.CustomerINN = Объект.Контрагент.ИНН;
КонецЕсли;
Выясним причину, по которой данные могут не попадать в структуру ПараметрыЧека. Часто программисты забывают, что для ИП также необходимо передавать ИНН и ФИО, поэтому условие проверки типа контрагента должно быть шире. Также убедимся, что в поле CustomerINN не попадают лишние пробелы или спецсимволы, так как драйвер АТОЛ 10 строго валидирует формат ИНН (10 или 12 цифр).
Для исправления проблемы непечатаемых реквизитов покупателя необходимо выполнить комплекс мер: обновить физический драйвер в системе до версии 10.5.1, заменить интеграционную библиотеку в макетах 1С на актуальную и убедиться, что XML-пакет содержит атрибуты CustomerInfo и CustomerINN. Сочетание этих действий гарантирует соответствие чека требованиям 54-ФЗ при расчетах между организациями.