При переходе на формат фискальных данных ФФД 1.2 многие пользователи ККТ «Штрих-М» столкнулись со специфической проблемой: касса отказывается пробивать чек, если в нем заполнены данные покупателя (ИНН и наименование). В системе «1С:Бухгалтерия» это проявляется ошибкой: «33h, Ошибка отправки тега 1256: Некорректные параметры в команде». При этом, если убрать ИНН контрагента из документа, чек пробивается успешно. Рассмотрим подробно, почему это происходит и как решить данную проблему.
Тег 1256 («Данные покупателя») — это составной реквизит (STLV-структура), который стал обязательным для расчетов между организациями и ИП в рамках ФФД 1.2. Он является «контейнером», внутри которого передаются два других важных тега:
Ошибка 33h (или 51 в десятичной системе) означает, что ККТ получила команду, параметры которой не соответствуют ожиданиям прошивки или протокола. Проанализируем ситуацию: когда данные покупателя отсутствуют, 1С просто не отправляет тег 1256, и касса работает в обычном режиме. Как только данные появляются, драйвер пытается сформировать TLV-структуру и передать её в кассу через команду FF0Ch (Передать произвольную TLV структуру). Именно на этом этапе происходит сбой.
Для диагностики нам необходимо изучить лог драйвера ККТ. Разберем фрагмент лога, представленный в ситуации:
[13.07.2022 14:52:57.535] [DEBUG] TFiscalPrinter Команда: FF0Ch, Передать произвольную TLV структуру
[13.07.2022 14:52:57.538] [DEBUG] TPrinterProtocol -> 02 5B FF 0C 1E 00 00 00 E8 04 51 00 CB 04 ...
[13.07.2022 14:52:57.540] [DEBUG] TPrinterProtocol <- FF 0C 33 C3
[13.07.2022 14:52:57.541] [ERROR] TFiscalPrinter (51, 33h) Некорректные параметры в команде
Обратим внимание на последовательность FF 0C 33. Здесь FF 0C — код команды, а 33 — код ошибки, возвращенный кассой. Выясним причину, изучив структуру передаваемого XML из 1С:
<CustomerDetail Info="Индивидуальный предприниматель Шинкаренко В. В." INN="611901963347"/>
Проанализируем возможные причины невалидности этого пакета в глазах кассы Штрих-М.
Самая распространенная причина ошибки 33h на ФФД 1.2 — это использование «сырых» версий ПО. Прошивки, выпущенные в конце 2021 года (например, версия 44294), имели ряд ограничений по обработке сложных TLV-структур. ККТ может просто «не понимать» длину посылки или формат вложенных тегов 1227 и 1228.
Что необходимо сделать:
FF0Ch.В ККТ «Штрих-М» существует аппаратное ограничение на размер буфера передаваемой команды. Если наименование покупателя (тег 1227) слишком длинное, суммарный размер тега 1256 может превысить допустимый предел.
Проанализируем наименование из примера: "Индивидуальный предприниматель Шинкаренко Вячеслав Викторович". Вместе с пробелами это более 60 символов.
Рекомендуемые действия:
33h.Хотя визуально ИНН может выглядеть правильно (10 цифр для ЮЛ и 12 для ИП), драйвер может воспринимать его некорректно, если в строку закрались невидимые символы. Рассмотрим ситуацию, когда при копировании данных из других программ в конец ИНН попадает неразрывный пробел или символ переноса строки.
Как проверить:
Зайдите в карточку контрагента в 1С, удалите ИНН и введите его заново вручную цифрами. Убедитесь, что в поле нет лишних пробелов в начале или в конце. Драйвер Штрих-М крайне чувствителен к типу данных: если он ожидает числовую строку, а получает строку с пробелом, он сформирует неверный TLV-пакет, что приведет к ошибке 33h.
Проанализируем структуру Parameters в XML-пакете, который 1С передает драйверу. В логах часто можно увидеть пустые атрибуты CustomerEmail="" и CustomerPhone="".
В некоторых реализациях Библиотеки подключаемого оборудования (БПО) и драйверов Штрих-М возникает конфликт: 1С передает пустой адрес электронной почты, а драйвер пытается включить его в состав тега 1256 как пустой вложенный тег. Прошивка ККТ при этом считает структуру нарушенной.
Способ решения:
CustomerDetail была исправлена.В некоторых случаях поведение ККТ при обработке данных покупателя зависит от внутренних настроек. Рассмотрим работу с таблицами через «Тест драйвера»:
0 (не печатать на бумаге, но отправлять в ФН) помогает обойти ошибки форматирования при печати бумажного чека, сохраняя при этом легальность операции.Ошибка 33h при передаче тега 1256 — это комплексная проблема стыковки 1С и «железа». Мы выяснили, что наиболее вероятным решением является синхронное обновление прошивки кассы и драйвера, а также сокращение длины наименования покупателя в карточке контрагента. Помните, что ФФД 1.2 предъявляет строгие требования к формату TLV, и любая лишняя запятая или старая версия ПО могут заблокировать продажи по безналичному расчету (B2B).