При автоматизации розничной торговли одной из самых коварных аппаратных проблем является ошибка фискальных регистраторов семейства «Штрих-М» (и их ОФД-модификаций, таких как Ритейл-01Ф, Эльвес-ФР-Ф, Штрих-М-01Ф) с кодом «45h, Сумма всех типов оплаты меньше итога чека» (в десятичном представлении — ошибка 69). Данный сбой происходит непосредственно на уровне самого кассового аппарата в момент финальной отправки чека на печать.
Суть проблемы заключается в том, что математическая сумма всех переданных товарных позиций с учетом примененных скидок не совпадает с итоговой суммой оплаты, которую программа 1С передает на фискальный регистратор. Достаточно расхождения всего в 1 копейку (0,01 руб.), чтобы ККТ заблокировала печать и аннулировала чек. Давайте детально разберем причины этой проблемы и рассмотрим все практические способы её устранения.
Когда кассир пробивает товар со скидкой, программа 1С:Розница производит расчет стоимости по каждой строке. В этот момент вступают в силу алгоритмы округления. Кассовый аппарат имеет собственный процессор и микропрограмму (прошивку), которая производит свои независимые вычисления стоимости позиций по формуле: Цена * Количество - Скидка = Стоимость.
Если в 1С настроены сложные автоматические скидки или округления (например, округление чека в пользу покупателя до целого рубля), то для 1С эта разница часто выглядит как «автоматическая скидка». При передаче этих данных в драйвер ККТ математика округления на стороне 1С может разойтись с математикой округления микропрограммы кассы. ККТ пересчитывает чек, видит разницу (даже в 1 копейку) и выдает аппаратную ошибку 45h, защищая продавца от некорректной отправки данных в ОФД и Налоговую службу.
Давайте пошагово рассмотрим пять наиболее эффективных методов решения этой проблемы.
Как показывает практика интеграции оборудования, очень часто ошибка возникает из-за использования некорректного или устаревшего драйвера в самой 1С. Пользователи могут по ошибке настроить оборудование через универсальный «драйвер фискального регистратора» вместо специализированного «драйвера ККТ с поддержкой ФФД».
Выполним следующие действия для исправления работы драйвера:
Если в вашей торговой точке часто продаются весовые товары или применяются процентные скидки, приводящие к появлению дробных чисел с большим количеством знаков после запятой, обязательно нужно задействовать механизм форматно-логистического контроля прямо в интерфейсе 1С.
Рассмотрим, как включить эту настройку:
Если манипуляции в 1С не приносят мгновенного результата, нам потребуется скорректировать внутренние настройки (таблицы) самого фискального регистратора. Для этого нам понадобится стандартная утилита от производителя — «Тест драйвера ККТ».
Выполним настройку по шагам:
1С:Розница, чтобы освободить COM-порт подключения кассы.Еще один важный нюанс кроется в правилах округления чека в самой 1С. По умолчанию система может пытаться округлять итоговую сумму всего чека, распределяя скидку по строкам пропорционально. Это верный путь к получению ошибки 45h при наличии нескольких позиций.
Проанализируем правильную настройку округления:
В некоторых нетипичных конфигурациях или при использовании сильно кастомизированных обработок обслуживания касс помогает кардинальный метод передачи данных. Мы можем настроить систему так, чтобы в ККТ вообще не передавалось значение скидки как отдельного параметра.
Вместо передачи структуры:
ЦенаБезСкидки = 100.00;
Скидка = 10.00;
СуммаСтроки = 90.00;
Мы перенастраиваем параметры передачи данных ККТ таким образом, чтобы в кассу уходила уже готовая, скорректированная цена:
ЦенаСоСкидкой = 90.00;
Скидка = 0.00;
СуммаСтроки = 90.00;
При таком подходе у фискального регистратора Штрих-М физически не возникнет возможности запутаться в вычислениях, так как математическое равенство Цена (90) * Количество (1) = Сумма (90) будет идеальным с точки зрения микропрограммы ККТ.
Применив один или несколько вышеописанных методов (в первую очередь — обновление драйвера ККТ и переключение режима начисления скидок в Таблице 17), мы полностью избавимся от ошибки «45h, Сумма всех типов оплаты меньше итога чека» и обеспечим бесперебойную работу кассовой зоны.