Как ускорить проверку кодов маркировки средствами ККТ в 1С:Розница 2.3 при работе с ФФД 1.2?

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

Переход на формат фискальных данных ФФД 1.2 принес розничным продавцам маркированного товара (особенно табака и обуви) существенную проблему: процесс продажи замедлился из-за обязательной проверки кодов маркировки (КМ) через контрольно-кассовую технику. В условиях большого потока покупателей каждая секунда ожидания ответа от сервера «Честного знака» становится критичной. Рассмотрим подробно, как можно оптимизировать этот процесс в 1С:Розница 2.3 и на уровне драйверов ККТ — для этого подойдёт обработка для настройки ККТ под требования ФФД 1.2.

Для предварительной работы с базой кодов и понимания их статусов до момента продажи может быть полезен инструмент, осуществляющий запрос списка кодов маркировки по фильтрам и списание, что позволяет заранее выявить проблемные позиции. Для этой задачи есть инструмент для инвентаризации и сверки статусов кодов в Честном знаке.

Разберем причину задержек при проверке марок

При использовании ФФД 1.2 касса обязана выполнить операцию ЗапросКМ перед добавлением товара в чек. В этот момент 1С отправляет команду драйверу, драйвер — кассе, а касса — напрямую серверу ОИСМ (Оператору информационных систем маркировки). Пока касса не получит ответ (статусы «М+», «М-» или «М»), программа 1С находится в режиме ожидания. Основные задержки возникают по трем причинам:

  1. Сетевые задержки: Касса долго не может «достучаться» до серверов проверки.
  2. Тайм-ауты в настройках: Программа слишком долго ждет ответа там, где можно было бы продолжить работу.
  3. Особенности реализации в 1С: В старых версиях «Розницы» процесс проверки синхронный, что блокирует интерфейс кассира.

Шаг 1. Оптимизация тайм-аутов в настройках 1С и драйвера

Проанализируем практический опыт настройки параметров ожидания. Стандартные значения (0 или пустые поля) часто интерпретируются системой как «бесконечное ожидание» или использование заводских настроек, которые могут составлять 30 секунд и более. Для ускорения работы рекомендуется установить жесткие лимиты.

Перейдем в настройки подключаемого оборудования, выберем нашу ККТ и откроем параметры драйвера. Проставим следующие значения, которые зарекомендовали себя на практике:

Важно: Установка нулевых значений во всех полях не всегда помогает, так как драйвер может подставить значения «по умолчанию». Использование минимальных ненулевых значений (1-2 секунды) заставляет систему быстрее возвращать управление кассиру.

Шаг 2. Настройка сетевого взаимодействия ККТ

Выясним, как именно касса связывается с интернетом. Если ККТ подключена через USB по протоколу Com-эмуляции, скорость обмена данными ограничена. Рассмотрим более эффективные методы:

1. Использование протокола RNDIS (Ethernet-over-USB): Этот способ позволяет компьютеру видеть кассу как сетевое устройство. Обмен данными идет значительно быстрее, чем через виртуальный COM-порт. Настройте в драйвере ККТ (например, АТОЛ) канал связи USB и включите службу EthernetOverUsb (или переключите саму кассу в режим RNDIS в сервисных настройках).

2. Жесткая прописка DNS: Огромная часть задержек связана с тем, что касса долго преобразует доменное имя сервера маркировки в IP-адрес. Проанализируем настройки таблиц ККТ. В параметрах сетевого интерфейса кассы (через тест драйвера) рекомендуется вручную прописать DNS-серверы, например, Google DNS: 8.8.8.8 или 8.8.4.4. Это сократит время «поиска» сервера на 1-3 секунды.

Шаг 3. Оптимизация на уровне драйвера (на примере АТОЛ 10.x)

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

Для корректного функционирования этого режима в современных реалиях критически важна правильная проверка QR марок через площадки CDN и стабильная работа авторизации. Чтобы избежать внезапных остановок продаж, рекомендуется использовать автоматическое обновление токенов ИС МП, что особенно актуально для разрешительного режима в 1С:Розница 2.3 — есть расширение для поддержки разрешительного режима и ФФД 1.2.

Шаг 4. Использование «1С:РМК» как альтернативы

Проанализируем архитектурное решение. 1С:Розница 2.3 использует встроенное РМК, которое проектировалось еще до массового внедрения ФФД 1.2. В нем механизмы проверки реализованы линейно. Рассмотрим возможность перехода на «1С:РМК» — это отдельное легкое приложение, которое подключается к вашей базе «Розницы».

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

Шаг 5. Работа с кодом (для разработчиков)

Если вы имеете доступ к конфигуратору и готовы внести изменения, рассмотрим, где именно в коде происходит обращение к кассе. В модулях, отвечающих за работу с оборудованием и маркировкой (например, МенеджерОборудованияВызовСервера или специализированные модули интеграции с ИС МП), выполняется вызов метода проверки.

Обратите внимание на структуру ПараметрыПроверки. В некоторых реализациях можно передать флаг, указывающий на то, что ответ не является обязательным для продолжения транзакции. Посмотрим на примерный фрагмент логики:


// Пример изменения параметров запроса к ККТ
ПараметрыПроверки = Новый Структура;
ПараметрыПроверки.Вставить("Таймаут", 1); // Устанавливаем минимальный таймаут программно
ПараметрыПроверки.Вставить("НеЖдатьОтвета", Истина); // Если поддерживается компонентой

РезультатПроверки = ИнтеграцияИСМП.ПроверитьКодыМаркировкиНаККТ(МассивМарок, ПараметрыПроверки);

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

Шаг 6. Настройка антивирусов и брандмауэров

Проанализируем влияние систем безопасности. Так как обмен данными с ОИСМ инициирует либо служба драйвера, либо сама 1С через компоненту, антивирусы могут проверять каждый исходящий пакет, что вносит задержку в 0.5-1 секунду на каждый запрос.

Кроме того, при оптимизации работы с большим количеством марок владельцам касс ШТРИХ-М стоит помнить, что иногда возникает ситуация, когда буфер чека переполнен после включения разрешительного режима. Это происходит из-за передачи расширенных данных о проверке КМ, поэтому важно следить за объемом информации в одном фискальном документе.

Добавьте в исключения антивируса:

Резюме и рекомендации

Для достижения максимального ускорения в 1С:Розница 2.3 мы рекомендуем комбинированный подход:

  1. Обновите прошивку ККТ до последней актуальной версии (производители постоянно оптимизируют работу с RequestKM).
  2. Переведите кассу на подключение через Ethernet или RNDIS.
  3. В параметрах драйвера установите тайм-аут ответа ОИСМ в 1 секунду.
  4. В настройках интеграции с ИС МП в 1С включите опцию «Продолжать продажу при ошибке проверки» (это позволит не блокировать чек, если сервер «Честного знака» временно недоступен).

Выполнение этих шагов позволит сократить время обработки одной марки с 5-10 секунд до комфортных 1-2 секунд, что вполне приемлемо даже для магазинов с высокой проходимостью.

← На главную