Почему долго печатается чек по маркированным товарам в 1С:УТ и как это исправить?

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

Всем привет! Сегодня мы с вами погрузимся в одну из актуальных и, к сожалению, достаточно частых проблем, с которой сталкиваются розничные магазины, работающие с маркированными товарами: длительную печать чеков. Представьте ситуацию: очередь в магазине, покупатель с одним стаканчиком йогурта, а касса "зависает" на 10-15 секунд при пробитии чека. Знакомая картина, не правда ли? Эта задержка не только раздражает клиентов, но и снижает общую эффективность работы торговой точки.

Основная причина таких пауз кроется во взаимодействии фискального регистратора (ФР) и учетной системы (часто это 1С:Управление торговлей) с государственной информационной системой маркировки товаров "Честный ЗНАК" (ЧЗ). При продаже маркированного товара, такого как молочная продукция или вода, система отправляет запросы для проверки статуса кода маркировки. Мы рассмотрим, почему это происходит и что можно сделать для сокращения пауз.

Понимание механизма задержки: Запросы в "Честный ЗНАК"

Когда мы пробиваем чек с маркированным товаром, происходит следующее:

  1. Кассир сканирует код маркировки товара.
  2. Информация о коде поступает в 1С и/или напрямую в фискальный регистратор.
  3. Фискальный регистратор (или 1С через API) отправляет запрос в "Честный ЗНАК" для проверки статуса кода. Этот запрос может быть на проверку действительности кода, его текущего состояния (не выведен ли он уже из оборота, не заблокирован ли).
  4. Система ожидает ответа от "Честного ЗНАКа".
  5. Только после получения ответа (или истечения таймаута) чек пробивается, а данные о выбытии товара отправляются в ОФД и ЧЗ.

Именно ожидание ответа от серверов "Честного ЗНАКа" зачастую и становится причиной длительных пауз. На стабильность и скорость этого взаимодействия могут влиять как внутренние настройки ФР и 1С, так и внешние факторы, такие как стабильность интернет-соединения и загруженность серверов ЧЗ.

Пользователь столкнулся с этой проблемой, используя УТ 11.5.12.147, платформу 8.3.23.1912 и ФР Атол FPrint22ПТК. Пиковые задержки в 10-15 секунд приводят к значительному замедлению обслуживания, особенно при продаже единичных товаров.

Диагностика и оптимизация работы с маркировкой

Для решения проблемы длительной печати чеков мы должны рассмотреть несколько направлений: настройки самого фискального регистратора, настройки в 1С, проверку сетевого окружения и понимание механизмов взаимодействия с "Честным ЗНАКом".

1. Проверка и настройка таймаутов в фискальном регистраторе

Первым делом мы обратим внимание на настройки фискального регистратора. В сообщениях темы упомянуто, что в ФР установлены таймауты по 1 секунде на запрос и ожидание без повторов. Это может быть как причиной проблемы, так и попыткой ее решения.

Мы выясним:

  1. Какие таймауты установлены для запросов к ИСМ (Информационная Система Маркировки). Если таймаут слишком короткий (например, 1 секунда), ФР может не успеть получить ответ от ЧЗ и, возможно, пробить чек с пометкой о том, что проверка не завершена или выполнена в автономном режиме (например, М+, как было обнаружено на чеках).
  2. Настроены ли повторные попытки запроса в ЧЗ. Отсутствие повторов может ускорять процесс в случае быстрого ответа, но при задержках на стороне ЧЗ это приводит к пробитию чека без подтверждения, что несёт определённые риски.

Наши действия:

2. Настройка разрешительного режима

С 1 апреля 2024 года для некоторых групп товаров (сигареты, разливное пиво, а позже и другие категории) введён разрешительный режим продажи. Это означает, что продажа маркированного товара запрещена, если его код по данным ЧЗ уже выбыл из оборота, заблокирован или отсутствует в системе. Хотя для молочной продукции и воды разрешительный режим не является обязательным, понимание его работы и правильная настройка критически важны для общей производительности системы.

В ходе обсуждения выяснилось, что разрешительный режим в УТ не настраивался.

Мы разберем, как работает разрешительный режим (и механизм проверки) в программах 1С:

  1. Кассир сканирует код маркировки на кассе.
  2. Код маркировки с помощью метода API ГИС МТ codes/check (похожий принцип использует запрос остатков из системы "Честный знак") отправляется на проверку в "Честный ЗНАК".
  3. При успешной проверке чек пробивается на ККТ. В данные чека заполняется специальный идентификатор и дата запроса.
  4. Если код маркировки не проходит проверку (например, он уже выбыл из оборота), чек не пробивается, и система выдает сообщение об ошибке.
  5. В случае, когда за установленный таймаут (например, 1.5 секунды) не приходит ответ на запрос от ГИС МТ, чек может быть пробит на ККТ. В дальнейшем (например, при наличии автономного режима проверки офлайн – ЕНИСЕЙ) данные будут отправлены позже.

Наши действия:

3. Оптимизация работы 1С: Использование очереди чеков и проверка при сканировании

На стороне 1С также есть механизмы, позволяющие сократить время ожидания на кассе.

А. Использование механизма "Очередь чеков"

В 1С существует возможность отправлять данные в ОФД и "Честный ЗНАК" не в момент пробития каждого чека, а асинхронно, собирая их в так называемую Очередь чеков. Это позволяет кассе работать в относительно "офлайн" режиме для внешних систем, значительно ускоряя процесс обслуживания покупателя.

Как это работает:

  1. При пробитии чека данные о нем (включая коды маркировки) попадают в специальный регистр сведений "Очередь чеков" в 1С.
  2. Чек пробивается ФР, и покупатель быстро получает свою покупку.
  3. Затем, по расписанию (например, раз в несколько минут или при закрытии смены), регламентное задание в 1С отправляет накопленные данные из очереди в ОФД и "Честный ЗНАК".

Наши действия:

Б. Проверка кодов при сканировании, а не при печати

Вместо того чтобы ждать запроса в ЧЗ непосредственно перед печатью чека, можно перенести эту проверку на момент сканирования товара. Это распределит нагрузку по времени:

Как это работает:

  1. Кассир сканирует маркированный товар.
  2. Сразу же после сканирования 1С (или ФР, если настроено) отправляет асинхронный запрос на проверку кода в ЧЗ.
  3. Покупатель продолжает набирать товары, а кассир их сканировать. Запрос в ЧЗ происходит "фоново".
  4. К моменту завершения набора товаров и готовности к оплате, ответ от ЧЗ уже, скорее всего, будет получен.

Наши действия:

В сообщении 2 упоминалась проверка кодов выбытия через кнопку в ЧекККМ в 10.3 и аналогичная возможность в УТ 11, что может быть использовано для разделения проверки и непосредственного пробития чека. Это позволяет сохранить результаты проверки, не завязываясь на торможение кассы.

4. Обновление прошивки ФР и драйверов

Устаревшие прошивки фискальных регистраторов или драйверы могут содержать ошибки или неоптимизированные алгоритмы взаимодействия с "Честным ЗНАКом". Производители постоянно выпускают обновления, которые улучшают стабильность и производительность.

Наши действия:

5. Проверка сетевого окружения и подключения к "Честному ЗНАКу"

Хотя "быстрые пинги до ya.ru" (в среднем 13/19 мс) свидетельствуют о хорошем общем интернет-соединении, это не гарантирует аналогичную скорость и стабильность связи непосредственно с серверами "Честного ЗНАКа". Маршрутизация до серверов ЧЗ может быть иной, и на этом пути могут возникать узкие места.

Наши действия:

  1. Пинг до серверов ЧЗ: Мы должны попробовать пропинговать непосредственно сервера "Честного ЗНАКа". Адреса можно найти в официальной документации ЧЗ или у вашего ОФД. Если пинги до них значительно выше или есть потери пакетов, это указывает на проблему на стороне провайдера или маршрутизации.
  2. Мониторинг сетевого трафика: Используйте сетевые утилиты для мониторинга трафика с кассового компьютера во время пробития чека. Это поможет выявить, когда именно происходит задержка и с каким внешним IP-адресом она связана.
  3. Проверка локальной сети: Убедитесь, что внутри локальной сети магазина нет проблем (перегруженность Wi-Fi, неисправные коммутаторы, старые кабели), которые могут замедлять передачу данных.

6. Особенности базы данных и дисковой подсистемы

Хотя проблема в основном связана с внешним взаимодействием, производительность СУБД и дисковой подсистемы также играет роль, особенно при большом объеме данных или сложной логике 1С.

Пользователь указал, что используются SSD-диски и базы находятся в SQL. Это хорошие предпосылки для высокой производительности.

Наши действия:

7. Риски пробития чека без полной проверки и автономный режим

Мы должны осознавать риски, связанные с ускорением пробития чеков за счет сокращения или пропуска проверок в ЧЗ. Если чек пробивается до получения подтверждения, есть риск продать товар с некорректным кодом:

Продажа такого товара может повлечь за собой штрафы для организации.

Автономный режим (ЕНИСЕЙ): "Честный ЗНАК" разрабатывает автономный режим проверки офлайн (ЕНИСЕЙ), который позволит кассам работать даже при временном отсутствии связи с интернетом, но с обязательной последующей передачей данных. Это перспективное решение, которое может значительно уменьшить задержки в моменте пробития чека, однако потребует выстраивания процессов по контролю и передаче данных.

Наши действия:

8. Альтернативные кассовые решения

В некоторых случаях, если оптимизация текущей системы не дает желаемого результата, организации рассматривают переход на специализированные фронт-офисные кассовые программы, такие как Frontol. Эти системы могут иметь более оптимизированные механизмы взаимодействия с ФР и "Честным ЗНАКом", а затем обмениваться данными с 1С в режиме бэк-офиса. Это требует дополнительных затрат на лицензии и интеграцию, но может стать решением для сетей с высокой проходимостью.

Мы проанализируем:

Заключение

Проблема длительной печати чеков с маркированными товарами — комплексная и требует системного подхода. Мы рассмотрели множество факторов: от настроек фискального регистратора и 1С до сетевого окружения и рисков. Важно последовательно проходить по всем пунктам диагностики, начиная с проверки таймаутов ФР, настройки разрешительного режима в 1С и использования "Очереди чеков". Тщательный анализ и пошаговая оптимизация позволят вам значительно сократить время обслуживания покупателей и повысить эффективность работы вашей розничной сети.

← На главную