Как исправить ошибку «45h, Сумма всех типов оплаты меньше итога чека» на кассах Штрих-М в 1С:Розница?

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

При автоматизации розничной торговли одной из самых коварных аппаратных проблем является ошибка фискальных регистраторов семейства «Штрих-М» (и их ОФД-модификаций, таких как Ритейл-01Ф, Эльвес-ФР-Ф, Штрих-М-01Ф) с кодом «45h, Сумма всех типов оплаты меньше итога чека» (в десятичном представлении — ошибка 69). Данный сбой происходит непосредственно на уровне самого кассового аппарата в момент финальной отправки чека на печать.

Суть проблемы заключается в том, что математическая сумма всех переданных товарных позиций с учетом примененных скидок не совпадает с итоговой суммой оплаты, которую программа 1С передает на фискальный регистратор. Достаточно расхождения всего в 1 копейку (0,01 руб.), чтобы ККТ заблокировала печать и аннулировала чек. Давайте детально разберем причины этой проблемы и рассмотрим все практические способы её устранения.

Выясняем первопричину: почему возникает расхождение в копейках?

Когда кассир пробивает товар со скидкой, программа 1С:Розница производит расчет стоимости по каждой строке. В этот момент вступают в силу алгоритмы округления. Кассовый аппарат имеет собственный процессор и микропрограмму (прошивку), которая производит свои независимые вычисления стоимости позиций по формуле: Цена * Количество - Скидка = Стоимость.

Если в 1С настроены сложные автоматические скидки или округления (например, округление чека в пользу покупателя до целого рубля), то для 1С эта разница часто выглядит как «автоматическая скидка». При передаче этих данных в драйвер ККТ математика округления на стороне 1С может разойтись с математикой округления микропрограммы кассы. ККТ пересчитывает чек, видит разницу (даже в 1 копейку) и выдает аппаратную ошибку 45h, защищая продавца от некорректной отправки данных в ОФД и Налоговую службу.

Давайте пошагово рассмотрим пять наиболее эффективных методов решения этой проблемы.

Способ 1. Установка и обновление корректного драйвера ККТ (Основное решение)

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

Выполним следующие действия для исправления работы драйвера:

  1. Перейдем в меню Администрирование — Подключаемое оборудование.
  2. Найдем наше фискальное устройство и откроем его карточку.
  3. Обратим внимание на используемый драйвер оборудования. Если там выбран старый драйвер устройства, заменим его на актуальный «ШТРИХ-М:ККТ с передачей данных в ОФД (ФФД 1.05/1.1/1.2)».
  4. Нажмем кнопку Настроить и обновим интеграционную компоненту драйвера внутри 1С до актуальной версии (рекомендуется использовать версии драйвера Штрих-М 4.15 / 5.16 и выше).
  5. Проведем тест устройства. В большинстве случаев корректно установленный драйвер начинает правильно транслировать скидки напрямую в цену позиции, предотвращая расхождения.

Способ 2. Включение форматно-логистического контроля (ФЛК) в 1С

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

Рассмотрим, как включить эту настройку:

  1. Откроем карточку нашего подключаемого оборудования (фискального регистратора) в 1С.
  2. Перейдем в форму настроек драйвера ККТ.
  3. Найдем опцию «Форматно-логистический контроль» (или ФЛК).
  4. Активируем данный флаг. Этот параметр заставляет учетную систему 1С предварительно анализировать отправляемые в ККТ XML-пакеты с позициями чека. Если система обнаруживает потенциальное расхождение в округлениях, она автоматически корректирует копейки в позициях до отправки команды печати на фискальный регистратор.

Способ 3. Изменение режима начисления скидок в таблицах ККТ Штрих-М

Если манипуляции в 1С не приносят мгновенного результата, нам потребуется скорректировать внутренние настройки (таблицы) самого фискального регистратора. Для этого нам понадобится стандартная утилита от производителя — «Тест драйвера ККТ».

Выполним настройку по шагам:

  1. Закроем программу 1С:Розница, чтобы освободить COM-порт подключения кассы.
  2. Запустим утилиту «Тест драйвера ККТ» (от имени Администратора).
  3. Установим связь с кассовым аппаратом, нажав кнопку «Установить связь» или выполнив поиск оборудования.
  4. В левом меню перейдем в раздел Настройки и выберем пункт Таблицы.
  5. В открывшемся списке найдем Таблицу № 17 «Региональные настройки» и откроем её.
  6. Найдем строку/поле под номером 3 — «Режим начисления скидок». По умолчанию там может стоять значение, отличное от нуля.
  7. Установим в данном поле значение 0.
  8. Применим изменения. Значение «0» отключает попытки ККТ самостоятельно калькулировать скидки по внутренним алгоритмам устройства. Теперь касса будет беспрекословно принимать и печатать те готовые суммы и цены, которые ей передает учетная система 1С.

Способ 4. Настройка округления по строкам в настройках торгового оборудования

Еще один важный нюанс кроется в правилах округления чека в самой 1С. По умолчанию система может пытаться округлять итоговую сумму всего чека, распределяя скидку по строкам пропорционально. Это верный путь к получению ошибки 45h при наличии нескольких позиций.

Проанализируем правильную настройку округления:

  1. Перейдем в раздел Администрирование, далее откроем пункт Продажи.
  2. Найдем подраздел Правила округления.
  3. Нам необходимо жестко задать правило: округление должно происходить строго построчно, а не на весь чек в целом.
  4. В параметрах подключаемого оборудования также рекомендуется установить флаг «Округлять цены в пользу покупателя», чтобы исключить появление дробных копеек, которые невозможно физически оплатить наличными или картой.

Способ 5. Передача «Чистой цены со скидкой» без выделения скидки

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

Вместо передачи структуры:


ЦенаБезСкидки = 100.00;
Скидка = 10.00;
СуммаСтроки = 90.00;

Мы перенастраиваем параметры передачи данных ККТ таким образом, чтобы в кассу уходила уже готовая, скорректированная цена:


ЦенаСоСкидкой = 90.00;
Скидка = 0.00;
СуммаСтроки = 90.00;

При таком подходе у фискального регистратора Штрих-М физически не возникнет возможности запутаться в вычислениях, так как математическое равенство Цена (90) * Количество (1) = Сумма (90) будет идеальным с точки зрения микропрограммы ККТ.

Применив один или несколько вышеописанных методов (в первую очередь — обновление драйвера ККТ и переключение режима начисления скидок в Таблице 17), мы полностью избавимся от ошибки «45h, Сумма всех типов оплаты меньше итога чека» и обеспечим бесперебойную работу кассовой зоны.

← На главную