При работе с торговыми конфигурациями на платформе 1С:Предприятие 8.3, особенно использующими Библиотеку подключаемого оборудования (БПО) версии 2.0 и выше, специалисты часто сталкиваются с проблемой отсутствия печати ИНН кассира (реквизит 1203) на бумажном чеке. Несмотря на то, что данные корректно заполняются в программном коде и передаются в метод формирования чека, фискальный регистратор «Штрих-М» может игнорировать этот параметр. Рассмотрим детально, почему это происходит и как обеспечить соблюдение требований ФФД.
Первым делом проверим, как формируются данные в XML-пакете, который передается драйверу через метод СформироватьЧек. В современных версиях БПО для драйверов стандарта 2.2 атрибут, отвечающий за ИНН кассира, называется CashierVATIN. Проанализируем типичную структуру этого узла в XML:
<Receipt>
<CommonParameters>
<CashierName>Иванов Иван Иванович</CashierName>
<CashierVATIN>123456789012</CashierVATIN>
</CommonParameters>
...
</Receipt>
Важно обратить внимание на следующие критические нюансы заполнения этих полей:
4.14 и выше может молча проигнорировать данный тег, не выдавая ошибку, но и не записывая данные в фискальный накопитель.CashierName, и CashierVATIN. Если имя кассира задано в настройках самой кассы, а из 1С передается только ИНН, данные могут не пройти валидацию на уровне внутренней логики драйвера.Если программный код 1С формирует верный XML, но ИНН кассира все равно не выводится на печать, нам необходимо проверить внутренние настройки самого аппарата через утилиту «Тест драйвера ФР». Проблема может крыться в приоритете данных. Рассмотрим основные таблицы:
Таблица 2 (Кассиры): В фискальных регистраторах «Штрих-М» (например, РР-01Ф, Штрих-М-01Ф) предусмотрена внутренняя база сотрудников. Если в настройках драйвера в конфигурации 1С установлена галочка «Использовать кассира из таблиц ККТ», то аппарат будет подставлять имя и ИНН кассира из этой таблицы, полностью игнорируя данные из XML-пакета 1С. Выясним, как это исправить: необходимо либо заполнить таблицу кассиров в памяти ККТ актуальными данными, либо в настройках подключения в 1С указать приоритет передачи данных из чека.
Таблица 17 (Региональные настройки): В этой таблице содержатся флаги, отвечающие за визуальное отображение реквизитов на чековой ленте. Проверим поле «Печать налогов» и связанные с ним параметры вывода дополнительных реквизитов. В некоторых версиях прошивок печать тега 1203 может быть заблокирована на уровне шаблона чека.
Разберем ситуацию, когда стандартный метод БПО 2.2 СформироватьЧек не справляется с задачей из-за ограничений реализации конкретной версии AddIn.SMDrvFR1C22.dll. Хотя интерфейс 1С для драйверов версии 2.2 не предоставляет прямого метода FNSendTag, сама компонента часто является оболочкой (wrapper) над основным COM-объектом драйвера DrvrFR.dll.
Опытные разработчики могут попробовать получить доступ к объекту драйвера напрямую для ручной отправки тега 1203 перед закрытием чека. Рассмотрим пример логики, которую можно реализовать в процедуре печати:
// Получаем прямой доступ к объекту драйвера, если это позволяет компонента
ДрайверОбъект = ОбъектДрайвера.Драйвер;
// Устанавливаем номер тега ИНН кассира
ДрайверОбъект.TagNumber = 1203;
// Тип тега 7 соответствует строковым данным
ДрайверОбъект.TagType = 7;
// Передаем значение ИНН
ДрайверОбъект.TagValueStr = "123456789012";
// Вызываем метод отправки тега в ФН
ДрайверОбъект.FNSendTag();
Внимание: Данный метод требует осторожности, так как вмешательство в стандартный поток формирования чека БПО может привести к рассинхронизации состояния смены или ошибкам закрытия документа.
Выясним еще одну возможную причину — версию прошивки ККТ. Для полноценной поддержки тега 1203 через драйверы серии 4.14 и 4.15, прошивка аппарата должна быть выпущена не ранее 2019 года. В более старых версиях микропрограммы механизм обработки ИНН кассира через протокол обмена с 1С мог работать некорректно.
Для точной диагностики проделаем следующие шаги:
FF 0A или вызов функции FNSendTag).Если в логе мы видим успешную передачу значения 123456789012 в ФН, но на бумаге ИНН отсутствует — значит, проблема исключительно в шаблоне чека. В аппаратах «Штрих-М» редактирование шаблонов производится через специальную утилиту «Мастер настройки шаблонов» или путем обновления прошивки на версию с корректным дизайном чека, соответствующим ФФД 1.05/1.1.
Подводя итоги, отметим, что для корректной печати ИНН кассира нам необходимо убедиться в трех вещах: корректности 12-значного формата ИНН в 1С, отсутствии блокировки в таблицах ККТ и актуальности версии прошивки. Если вы используете связку УТ 11.1 и БПО 2.0, проанализируйте, передается ли CashierVATIN в итоговый XML. Если нет — потребуется доработка процедуры формирования XML в модуле интеграции с оборудованием.