При работе с онлайн-кассами, в частности с моделью "Штрих-М-01Ф", в конфигурации "1С:Управление нашей фирмой" (УНФ) пользователи могут столкнуться с ошибкой "36h, ошибка FNoperation: некорректные параметры в команде для данной реализации". Чаще всего она возникает в сложных сценариях, например, при пробитии чека на частичную оплату по ранее созданной расходной накладной. Давайте подробно разберем причины этой ошибки и рассмотрим пошаговый алгоритм ее устранения.
Чтобы найти верное решение, сначала выясним причину. Ошибка "36h, ошибка FNoperation" исходит от фискального накопителя (ФН) кассового аппарата. Она означает, что ФН получил команду с параметрами, которые он считает некорректными. В контексте пробития чека это практически всегда связано с несоответствием числовых данных в товарных позициях.
В ходе обсуждения проблемы выяснилось, что ключевая проблема заключается в данных, которые 1С отправляет на кассу. При анализе логов обмена между 1С и ККМ была обнаружена критическая несостыковка: произведение цены товара на его количество не равнялось итоговой сумме по этой же строке чека.
Например, в логе были найдены следующие данные, отправляемые на кассу:
Очевидно, что 1 * 397.48 ≠ 1419.55. Фискальный накопитель, выполняя внутреннюю проверку (форматно-логический контроль), обнаруживает это несоответствие и справедливо отвергает команду, возвращая ошибку "36h". Это доказывает, что проблема не в кассовом аппарате или его прошивке, а в алгоритме формирования чека на стороне 1С.
Важный момент: часто в эмуляторе ККТ такие ошибки не воспроизводятся, так как эмулятор может не выполнять всех строгих проверок, которые заложены в логику реального фискального накопителя. Поэтому для диагностики всегда опирайтесь на поведение физического устройства.
Как показала практика, корень проблемы крылся в ошибке алгоритма расчета сумм в конфигурации 1С:Управление нашей фирмой. Эта ошибка проявлялась именно в сценариях с частичными оплатами, когда система пыталась закрыть часть долга по расходной накладной.
Компания "1С" признала наличие этой ошибки и выпустила исправление. Поэтому основным и самым правильным решением является обновление конфигурации.
Решение:
После обновления до актуальной версии проблема с некорректным расчетом сумм в чеках частичной оплаты уходит, и касса начинает пробивать чеки без ошибок.
Иногда ошибка "36h" может возникать не из-за глобальной ошибки в алгоритме, а из-за микроскопических расхождений в копейках, которые появляются при расчете скидок, налогов или распределении сумм по позициям. Даже расхождение в 0.01 рубля может привести к отказу со стороны ФН.
Для таких случаев в настройках драйвера ККТ предусмотрен специальный механизм. Разберем, как его настроить.
Порядок действий:
НСИ и администрирование → Администрирование → РМК и подключаемое оборудование.Подключаемое оборудование.Эта настройка дает команду драйверу перед отправкой данных в ФН проверять их на соответствие. Если он обнаружит расхождение в пределах 1 копейки, он попытается автоматически скорректировать сумму одной из позиций, чтобы общая математика чека сошлась. Этот способ является отличным решением для проблем, связанных именно с ошибками округления.
Важно понимать: этот способ помогает при проблемах с округлением, но не решает фундаментальную ошибку в алгоритме, которая была исправлена в обновлении УНФ, описанном выше. Если у вас ошибка возникает именно при частичных оплатах, приоритетом должно быть обновление конфигурации.
Подведем итог и составим универсальный чек-лист для решения проблемы "36h, ошибка FNoperation":