При переходе на формат фискальных данных (ФФД) 1.2 многие пользователи ККТ «ШТРИХ-М» сталкиваются с ситуацией, когда продажа маркированного товара проходит корректно, данные уходят в ОФД и систему «Честный Знак», но на бумажном чеке отсутствует обязательный префикс [М] (или его вариации [M+], [M-]). Это является нарушением правил оформления расчетов, поэтому проблему необходимо устранять незамедлительно. В данной статье мы подробно разберем, какие настройки ККТ и параметры драйвера отвечают за вывод этого реквизита.
Если в личном кабинете ОФД в электронном чеке присутствует тег 1163 (код товара) и результат проверки марки (тег 2106), а на бумаге символ [М] отсутствует, это означает, что логика формирования печатной формы в самой ККТ настроена неверно. В ФФД 1.2 касса сама отвечает за визуализацию результата проверки. Рассмотрим основные причины, по которым печать может быть заблокирована, и проанализируем шаги по их устранению.
Первым делом нам необходимо обратиться к настройкам внутренних таблиц ККТ. Большинство параметров печати сосредоточено в Таблице 17 «Региональные настройки». Разберем наиболее важные поля:
1. Этот параметр разрешает ККТ автоматически выводить на печать значения тегов, которые передаются в фискальный документ. Если здесь стоит 0, многие реквизиты, включая результат проверки маркировки, могут игнорироваться принтером.1. Это позволяет кассе использовать стандартные аббревиатуры, утвержденные ФНС.1. Это прямое указание кассе выводить символы статуса проверки марки.Одной из самых частых причин отсутствия [М] в новых прошивках является неправильная битовая маска в Таблице 17, Поле 12 «Печать тегов». Рассмотрим подробнее, как работает этот параметр. Поле представляет собой сумму значений (битов), каждый из которых отвечает за печать определенных групп тегов.
В современных версиях ПО для работы с ФФД 1.2 за печать результата проверки кода маркировки (тег 2106) отвечает старший бит (маска 0x8000). Если этот бит не активен, касса будет «молчать» даже при успешной проверке. Проанализируем значения:
95 или 32.127, 255 или даже 32863 (если требуется принудительная активация через 15-й бит).Попробуем изменить значение Поля 12 на 31, 63 или 127 и проведем тестовую продажу. Если символ не появился, проверим специфику вашей прошивки в руководстве программиста ККТ.
Иногда отсутствие печати [М] связано с программной ошибкой в конкретной сборке внутреннего ПО ККТ или отсутствием актуальной лицензии. Разберем ситуацию на примере прошивок от начала 2022 года:
В релизах от 18.04.2022 была замечена особенность, при которой печать тега 2106 может отключаться, если на аппарате не активна подписка на обновления (например, на 2-й квартал 2022 года и выше). Выясним причину через тест драйвера:
Зайдем в раздел «Запросы» -> «Лицензии» и проверим наличие лицензий на «ФФД 1.2» и «Маркировку». Если лицензии на месте, но печати нет, попробуем выполнить обновление прошивки до более стабильной версии (например, релиз от конца 2022 года или 2023 года), где механизмы работы с ФН-М были отлажены.
Даже если ККТ настроена правильно, важно проанализировать, как ваше ПО (например, на платформе 1С:Предприятие 7.7 или 8.3) передает данные драйверу. В режиме ФФД 1.2 вместо записи в тег 1162 мы должны использовать механизм формирования тега 1163. Посмотрим на логику работы с драйвером SHTRIH-M:
При использовании нативных методов драйвера (например, через объект AddIn.DRVFR), необходимо использовать методы для работы с маркировкой. Пример упрощенного алгоритма:
// Загрузка кода маркировки в ККТ перед открытием строки чека
Драйвер.MarkingType = 0; // Тип маркировки (зависит от категории товара)
Драйвер.BarCode = "01046...[полный_код_маркировки]"; // Передаем полный DataMatrix
Драйвер.FNClearMarkingBuffer(); // Очистка буфера перед проверкой
Драйвер.FNAddMarkingCode(); // Добавление кода в буфер ФН
// Ожидание ответа от ОИСМ через метод FNGetStatus (проверка статуса)
Если ваше ПО передает марку просто как текстовый атрибут или пытается записывать ее в старые теги, ККТ не распознает товар как маркированный в контексте ФФД 1.2, и буква [М] не появится.
После того как мы добились появления заветной буквы, важно понимать, что именно печатает касса. Это результат двухэтапной проверки:
Иногда рядом с буквой [М] печатаются дополнительные цифры, например 1908. Проанализируем, что это такое. Это тег 2115 (Строковый код проверки). Он генерируется фискальным накопителем как результат обработки ответа от системы маркировки. В некоторых редакциях правил ФФД 1.2 печать этого кода является обязательной, поэтому пугаться его появления не стоит — это признак того, что касса получила подтверждение от «Честного Знака».
Если же вы видите лишние цифры в строке итога или суммы (например, одинокую цифру 3), скорее всего, это печатается номер секции (отдела). Проверьте в коде 1С, какое значение вы передаете в свойство Department. Например:
ФискальныйРегистратор.Department = Число(ВыбПодразделение.Код);
Если это мешает эстетике чека, настройте печать секций в Таблице 1, Поле 1 или через параметры драйвера.
Если все настройки таблиц верны, битовые маски проставлены, а прошивка актуальна, но [М] так и не печатается, мы рекомендуем выполнить технологическое обнуление ККТ. Это процедура сброса оперативной памяти (RAM) аппарата, которая удаляет зависшие флаги состояний, оставшиеся от предыдущего формата (ФФД 1.05).
После обнуления потребуется заново установить дату, время и настройки связи с ОФД. Часто именно эта «глубокая очистка» позволяет внутреннему ПО ККТ корректно инициализировать новые механизмы ФФД 1.2 и начать печатать все обязательные реквизиты.