Переход на формат фискальных данных ФФД 1.2 принес розничным продавцам маркированного товара (особенно табака и обуви) существенную проблему: процесс продажи замедлился из-за обязательной проверки кодов маркировки (КМ) через контрольно-кассовую технику. В условиях большого потока покупателей каждая секунда ожидания ответа от сервера «Честного знака» становится критичной. Рассмотрим подробно, как можно оптимизировать этот процесс в 1С:Розница 2.3 и на уровне драйверов ККТ — для этого подойдёт обработка для настройки ККТ под требования ФФД 1.2.
Для предварительной работы с базой кодов и понимания их статусов до момента продажи может быть полезен инструмент, осуществляющий запрос списка кодов маркировки по фильтрам и списание, что позволяет заранее выявить проблемные позиции. Для этой задачи есть инструмент для инвентаризации и сверки статусов кодов в Честном знаке.
При использовании ФФД 1.2 касса обязана выполнить операцию ЗапросКМ перед добавлением товара в чек. В этот момент 1С отправляет команду драйверу, драйвер — кассе, а касса — напрямую серверу ОИСМ (Оператору информационных систем маркировки). Пока касса не получит ответ (статусы «М+», «М-» или «М»), программа 1С находится в режиме ожидания. Основные задержки возникают по трем причинам:
Проанализируем практический опыт настройки параметров ожидания. Стандартные значения (0 или пустые поля) часто интерпретируются системой как «бесконечное ожидание» или использование заводских настроек, которые могут составлять 30 секунд и более. Для ускорения работы рекомендуется установить жесткие лимиты.
Перейдем в настройки подключаемого оборудования, выберем нашу ККТ и откроем параметры драйвера. Проставим следующие значения, которые зарекомендовали себя на практике:
Важно: Установка нулевых значений во всех полях не всегда помогает, так как драйвер может подставить значения «по умолчанию». Использование минимальных ненулевых значений (1-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 секунды.
Посмотрим на специфические настройки драйвера, которые появились в последних версиях. Существует параметр «Работа с КМ без ожидания результата». Если его активировать, драйвер будет возвращать управление в 1С сразу после отправки запроса в ККТ, не дожидаясь, пока касса получит ответ от ОИСМ через интернет.
Для корректного функционирования этого режима в современных реалиях критически важна правильная проверка QR марок через площадки CDN и стабильная работа авторизации. Чтобы избежать внезапных остановок продаж, рекомендуется использовать автоматическое обновление токенов ИС МП, что особенно актуально для разрешительного режима в 1С:Розница 2.3 — есть расширение для поддержки разрешительного режима и ФФД 1.2.
Проанализируем архитектурное решение. 1С:Розница 2.3 использует встроенное РМК, которое проектировалось еще до массового внедрения ФФД 1.2. В нем механизмы проверки реализованы линейно. Рассмотрим возможность перехода на «1С:РМК» — это отдельное легкое приложение, которое подключается к вашей базе «Розницы».
В «Новом РМК» реализован асинхронный механизм: кассир сканирует марку, запрос уходит на кассу, но программа не блокируется. Если же вы хотите оптимизировать штатный функционал, можно применить специальное не блокирующее интерфейс РМК для 1С:Розница (поможет неблокирующее РМК для ускорения работы с маркировкой), которое позволяет переключаться между задачами, не дожидаясь завершения операций. Также для визуального удобства и сокращения времени на сверку позиций часто используют объединение маркированных товаров в РМК, что помогает кассиру быстрее ориентироваться в чеке.
Если вы имеете доступ к конфигуратору и готовы внести изменения, рассмотрим, где именно в коде происходит обращение к кассе. В модулях, отвечающих за работу с оборудованием и маркировкой (например, МенеджерОборудованияВызовСервера или специализированные модули интеграции с ИС МП), выполняется вызов метода проверки.
Обратите внимание на структуру ПараметрыПроверки. В некоторых реализациях можно передать флаг, указывающий на то, что ответ не является обязательным для продолжения транзакции. Посмотрим на примерный фрагмент логики:
// Пример изменения параметров запроса к ККТ
ПараметрыПроверки = Новый Структура;
ПараметрыПроверки.Вставить("Таймаут", 1); // Устанавливаем минимальный таймаут программно
ПараметрыПроверки.Вставить("НеЖдатьОтвета", Истина); // Если поддерживается компонентой
РезультатПроверки = ИнтеграцияИСМП.ПроверитьКодыМаркировкиНаККТ(МассивМарок, ПараметрыПроверки);
Однако стоит помнить, что прямое отключение проверки может противоречить требованиям законодательства о ФФД 1.2. Правильный путь — не отключение, а сокращение времени ожидания.
Проанализируем влияние систем безопасности. Так как обмен данными с ОИСМ инициирует либо служба драйвера, либо сама 1С через компоненту, антивирусы могут проверять каждый исходящий пакет, что вносит задержку в 0.5-1 секунду на каждый запрос.
Кроме того, при оптимизации работы с большим количеством марок владельцам касс ШТРИХ-М стоит помнить, что иногда возникает ситуация, когда буфер чека переполнен после включения разрешительного режима. Это происходит из-за передачи расширенных данных о проверке КМ, поэтому важно следить за объемом информации в одном фискальном документе.
Добавьте в исключения антивируса:
1cv8.exe.fptr10.exe).Для достижения максимального ускорения в 1С:Розница 2.3 мы рекомендуем комбинированный подход:
RequestKM).Выполнение этих шагов позволит сократить время обработки одной марки с 5-10 секунд до комфортных 1-2 секунд, что вполне приемлемо даже для магазинов с высокой проходимостью.