Как исправить ошибку «Контрольная марка не проверена» при пробитии чеков в 1С:УНФ 1.6.25 по ФФД 1.2?

Программист 1С v8.3 (Управляемые формы) 1С:Управление нашей фирмой Управленческий учет Торговля и дистрибуция
← На главную

Переход на формат фискальных данных ФФД 1.2 принес множество изменений в процесс продажи маркированных товаров. Одной из самых распространенных проблем, с которой столкнулись пользователи программы 1С:Управление нашей фирмой (УНФ) версии 1.6.25, стала невозможность пробить чек после сканирования кода маркировки. При попытке завершить продажу система выдает ошибку: «Контрольная марка не проверена», при этом само оборудование (например, кассы Атол) настроено корректно.

В этой статье мы подробно разберем причины возникновения этой ситуации, проанализируем технические нюансы взаимодействия 1С и драйверов ККТ, а также рассмотрим пошаговое решение проблемы.

Причины возникновения ошибки в 1С:УНФ

Основная причина проблемы кроется в механизме проверки кодов маркировки средствами ККТ. В отличие от конфигурации 1С:Розница, где этот алгоритм был реализован стабильно, в первых релизах 1С:УНФ 1.6.25 наблюдалась некорректная работа формы ожидания ответа от системы ИСМ (Информационная система маркировки). Проанализируем ситуацию подробнее: при сканировании марки касса должна отправить запрос на проверку, дождаться ответа и вернуть статус [M+]. Однако в коде 1С:УНФ возникал конфликт тайм-аутов или преждевременное прерывание процесса проверки.

Разберем, на каких уровнях может происходить сбой:

  1. Программный уровень: Ошибка в модуле ШтрихкодированиеИСМПКлиент, где функция НачатьПроверкуКодовМаркировкиСредствамиККТ некорректно обрабатывает результат локальной проверки.
  2. Версия конфигурации: Ошибка официально признана разработчиками 1С под номером 00-00385060.
  3. Драйвер ККТ: Для работы с ФФД 1.2 требуются драйверы версии не ниже 10.9.0.0.

Шаг 1: Обновление конфигурации и установка патчей

Первое и самое важное действие — это приведение системы в актуальное состояние. Рассмотрим, какие версии исправляют данную ошибку. По результатам практического опыта, стабильная работа с ФФД 1.2 начинается с релиза 1.6.25.212 и выше.

Если вы используете версию 1.6.25.207 или более раннюю, выполните следующие шаги:

  1. Обновите конфигурацию до релиза 1.6.25.212 (выпущенного в сентябре 2021 г.) или выше. В некоторых случаях может потребоваться тестовый релиз 1.6.25.226, если на основном релизе ошибка сохраняется.
  2. Проверьте наличие и установите критически важный патч EF_00_00385048. Этот патч исправляет логику ожидания ответа от ККТ.
  3. Дополнительно рекомендуется установить патч EF_00_00392015, который стабилизирует работу статуса проверки в рабочем месте кассира (РМК).

Шаг 2: Настройка подключаемого оборудования в 1С

Проанализируем настройки самой кассы внутри программы. Даже на актуальном релизе ошибка может возникать из-за неверных параметров связи с драйвером.

Выполним проверку настроек:

  1. Перейдем в раздел Администрирование — Подключаемое оборудование.
  2. Откроем карточку вашей ККТ. Нажмем кнопку Настроить.
  3. Убедимся, что установлена версия драйвера 10.9.0.4 или выше. Если версия компоненты внутри 1С отличается от версии, установленной в ОС, нажмем Функции — Установить драйвер.
  4. Обратим внимание на флаг «Контролировать коды маркировки средствами ККТ». Согласно требованиям ФФД 1.2, для полноценной проверки этот флаг должен быть включен. Однако при возникновении ошибок типа «Контрольная марка не проверена», попробуйте переключить его и протестировать поведение системы.

Шаг 3: Техническая настройка драйвера Атол и серверов ИСМ

ФФД 1.2 требует, чтобы касса самостоятельно обменивалась данными с серверами «Честного Знака». Если параметры серверов ИСМ и ОКП не прописаны в самой кассе, 1С не сможет получить подтверждение проверки. Рассмотрим, как это проверить через Тест драйвера ККТ.

Посмотрим на ключевые параметры в Тесте драйвера (раздел «Свойства»):

  1. Параметры сервера ИСМ (ОИС): адрес prod.markv.crpt.ru (для рабочей среды) и порт 10101.
  2. Тайм-аут ответа: установите значение не менее 10000 мс (10 секунд). При медленном интернет-соединении касса может не успевать получить ответ от сервера ИСМ, и 1С зафиксирует ошибку.
  3. Проверьте канал связи. Если используется EthernetOverUSB, убедитесь, что служба запущена и имеет доступ в интернет. Без этого касса физически не отправит запрос на проверку марки.

Шаг 4: Анализ кода и логики работы формы ожидания

Если обновление не помогает, проанализируем, как 1С обрабатывает процесс проверки программно. В модуле ШтрихкодированиеИСМПКлиент вызывается общая форма ОжиданиеПроверкиКодовМаркировкиИСМП. Выясним причину возможного сбоя в процедуре ОбработкаРезультатаПроверкиСредствамиККТ.

В проблемных версиях УНФ логика выглядела примерно так:


Процедура ОбработкаРезультатаПроверкиСредствамиККТ(РезультатПроверки)
    Если РезультатПроверки.ЛокальнаяПроверкаПрошла Тогда
        // Продолжаем выполнение
    Иначе
        // Остановка процесса и вывод ошибки "Контрольная марка не проверена"
        Возврат; 
    КонецЕсли;
КонецПроцедуры

Проблема заключается в том, что некоторые модели ККТ при локальной проверке могут возвращать отрицательный результат (или сообщать о неподдерживаемой операции), хотя серверная проверка при этом проходит успешно. В 1С:Розница этот момент был обработан более гибко, позволяя дождаться именно ответа от ИСМ. Если вы являетесь разработчиком, вы можете сравнить реализацию этой формы в УНФ и Рознице и перенести недостающую логику ожидания.

Шаг 5: Проверка статуса марки в Честном Знаке

Иногда причина кроется не в программе, а в самом товаре. Выясним, в каком состоянии находится код маркировки. По требованиям ФФД 1.2, если код имеет статус «Эмитирован», но еще не введен в оборот, ККТ вернет ошибку проверки. Проверить это можно через мобильное приложение «Честный Знак. Бизнес» или в личном кабинете участника оборота.

Рекомендации по платформе

Не забывайте, что для корректной работы с новыми драйверами и форматами обмена крайне важна версия платформы 1С:Предприятие 8.3. Рекомендуется использовать версию не ниже 8.3.18.1334. На более старых платформах возможны утечки памяти или ошибки при передаче структур JSON в драйвер ККТ, что также приводит к сбоям при проверке марок.

Подводя итог: для решения проблемы в 1С:УНФ 1.6.25 необходимо выполнить комплексное обновление — конфигурации до 1.6.25.212/226, платформы до актуальной ветки 8.3.18+, драйверов Атол до 10.9.x и обязательную установку специфических патчей. Только синхронная работа всех этих звеньев обеспечит стабильное пробитие чеков по правилам ФФД 1.2.

← На главную