При работе с торговым оборудованием в устаревших, но все еще актуальных конфигурациях, таких как 1С:Управление производственным предприятием 1.3, пользователи часто сталкиваются с ситуацией, когда чек коррекции отказывается пробиваться. При этом система может выдавать крайне неинформативное сообщение: «00h, ошибок нет», либо специфическую ошибку «36h ошибка fnoperation». Рассмотрим подробно, почему это происходит и как привести систему в рабочее состояние, особенно в контексте перехода на ФФД 1.2.
Ошибка с кодом 00h в протоколах ККТ «Штрих-М» формально означает «Успешное выполнение». Однако, если при этом физический чек не выходит из кассы, это сигнализирует о «тихом» отказе. Проанализируем причину: драйвер успешно передает пакет данных в ККТ, но устройство (или фискальный накопитель) блокирует операцию на этапе внутренней валидации. В 1С:УПП 1.3 это чаще всего связано с тем, что старые механизмы формирования XML-пакета чека не передают обязательные теги, требуемые новым форматом фискальных данных.
Первым делом нам необходимо убедиться, что используется актуальная обработка обслуживания торгового оборудования. В 1С:УПП 1.3 справочник обработок не всегда обновляется автоматически при обновлении конфигурации. Разберем по шагам, как это исправить:
.../1c/trade/1.3.XX.X/TradeWareEpf/.ShtrihMkkt.epf или имеет схожее наименование, соответствующее версии ФФД 1.2.Если после обновления обработки возникает ошибка «36h ошибка fnoperation: некорректные параметры в команде для данной реализации», это часто указывает на математические расхождения. ККТ крайне чувствительна к тому, чтобы сумма «Цена х Количество» строго равнялась итоговой сумме по строке и всему чеку.
Проанализируем настройки торгового оборудования в 1С:
Выясним причину, по которой старые методы пробития коррекции больше не работают. Основное отличие заключается в структуре данных:
В ФФД 1.05 чек коррекции часто был «суммовым». В нем указывалась только общая сумма долга/прихода и ставка НДС. Секция <Items> (товарная часть) могла отсутствовать.
В ФФД 1.2 чек коррекции обязан содержать полную номенклатурную часть. Рассмотрим пример структуры, которая должна передаваться в ККТ:
// В ФФД 1.2 обязательно заполнение таблицы товаров
// Каждая строка должна содержать:
// Тег 1030 (Наименование предмета расчета)
// Тег 1079 (Цена за единицу)
// Тег 1023 (Количество)
// Тег 1212 (Признак предмета расчета)
Если ваша конфигурация 1С:УПП пытается пробить чек коррекции по «старинке» (одной общей суммой), касса с прошивкой под ФФД 1.2 выдаст ошибку параметров, так как поле «Наименование товара» в данном типе документа теперь является обязательным.
Если вышеуказанные меры не помогли, нам необходимо заглянуть внутрь «общения» 1С и кассы. Для этого выполним следующие действия:
%AppData%\Local\Shtrih-M\ (или аналогичную, указанную в настройках драйвера).FnOperation. Код ошибки, идущий после нее, даст точный ответ: какой именно тег (например, 1173 — тип коррекции или 1174 — дата основания) не заполнен или имеет неверный формат.Если вы пробиваете чеки коррекции по агентским договорам (что часто встречается в УПП), обратите внимание на теги 1222-1224. В режиме ФФД 1.2 для корректного пробития необходимо, чтобы в каждой строке чека коррекции были переданы данные поставщика (ИНН и телефон). Проанализируем заполнение этих данных в документах 1С: если ИНН поставщика не заполнен в карточке контрагента или имеет неверную длину, ККТ вернет ошибку некорректных параметров.
Таким образом, совместная работа по обновлению программных компонентов (обработок .epf) и тонкая настройка параметров драйвера позволяют успешно решить проблему с фискализацией чеков коррекции в 1С:УПП 1.3.