Как исправить ошибки «Ошибка реквизита: неизвестная ошибка ФН» и «Сумма товарных позиций больше суммы оплаты» в 1С:УТ 11.4?

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

При работе с торгово-кассовым оборудованием (в частности, ККТ АТОЛ 30Ф) и конфигурацией 1С:Управление торговлей 11.4 пользователи нередко сталкиваются со сбоями при попытке пробить фискальный чек. Типичный сценарий развития проблемы выглядит следующим образом: сначала система выдает ошибку вида Ошибка реквизита: Неизвестная ошибка ФН (код ошибки драйвера -4048), а после обновления конфигурации 1С ситуация меняется на ошибку Сумма товарных позиций больше суммы оплаты.

В этой статье мы подробно проанализируем причины возникновения обеих ошибок, изучим логи кассового драйвера и разберем по шагам способы их устранения.

Анализ первой проблемы: «ResultCode = -4048 Ошибка реквизита: Неизвестная ошибка ФН»

Рассмотрим детальный лог работы драйвера ККТ АТОЛ при отправке команды открытия и заполнения позиции чека:


14.03.2018 22:50:50.363 Driver.Set_Summ 0,17
14.03.2018 22:50:50.363 Driver.Set_Name Размешиватель ПС белый (500шт/уп, 30уп/кор)
14.03.2018 22:50:50.363 Driver.Set_Quantity 1
14.03.2018 22:50:50.363 Driver.Set_Price 0,14
14.03.2018 22:50:50.364 Driver.Set_DiscountValue -0,03
14.03.2018 22:50:50.364 Driver.Set_TaxTypeNumber 3
14.03.2018 22:50:50.364 Driver.EndItem
...
14.03.2018 22:50:50.376 Ошибка! ResultCode = -4048 ResultDescription = "Ошибка реквизита: Неизвестная ошибка ФН" BadParam = 0

Проанализируем параметры, которые 1С передает кассовому аппарату:

  1. Driver.Set_Price = 0,14 (цена товара без скидки);
  2. Driver.Set_Quantity = 1 (количество);
  3. Driver.Set_DiscountValue = -0,03 (величина скидки со знаком «минус»);
  4. Driver.Set_Summ = 0,17 (итоговая сумма по строке чека).

Выясним причину сбоя:

В данном случае отрицательное значение скидки DiscountValue = -0,03 фактически является наценкой. Однако протокол взаимодействия с Фискальным Накопителем (ФН) и Формат Фискальных Документов (ФФД версии 1.05 и выше) жестко регламентируют проверку математических равенств в чеке. Передача наценок в виде отрицательных скидок через кассовый драйвер недопустима. Фискальный накопитель отказывается регистрировать позицию, у которой итоговая сумма позиции превышает произведение цены на количество, и возвращает статус ошибки реквизита -4048.

Способ решения проблемы с ошибкой реквизита ФН

Для устранения ошибки -4048 необходимо исключить передачу отрицательных скидок на кассовый аппарат. Выполним следующие действия:

  1. Пересчет цен в документе 1С: Наценку необходимо закладывать в басовую цену товара Set_Price до момента формирования чека. То есть товар должен передаваться в кассу с финальной ценой 0,17 руб. без использования параметра скидки.
  2. Обновление кассовых драйверов: Если используется устаревший драйвер (например, АТОЛ ДТО 8.x), рекомендуется перейти на актуальный драйвер АТОЛ ДТО 10.х и перевести устройство на платформу 5.0. В современных драйверах механизмы передачи скидок и автоматической корректировки реквизитов работают в полном соответствии с требованиями 54-ФЗ.

Анализ второй проблемы: «Сумма товарных позиций больше суммы оплаты»

Часто после обновления конфигурации 1С (например, с УТ 11.4.2 до 11.4.3 и выше) алгоритм формирования чека меняется: 1С начинает передавать в кассу конечные цены с уже учитанной скидкой. Но при этом возникает новая ошибка: Сумма товарных позиций больше суммы оплаты.

Рассмотрим, почему это происходит:

Главная причина заключается в попозиционном округлении копеек при распределении общих скидок на чек или при продаже составных позиций с дробным количеством.

Предположим, в документе продаж применилась скидка, которая распределилась по строкам. В результате сложения округленных до двух знаков после запятой сумм по всем строкам итоговая сумма товаров составила, например, 100,01 руб., а сумма полученной оплаты от клиента (передаваемый вид оплаты) равна 100,00 руб. Кассовый аппарат сравнивает общую сумму всех строк с суммой полученных средств и блокирует операцию, так как сумма товаров превышает сумму оплаты на 1 копейку.

Способы решения ошибки расхождения сумм

Для устранения проблемы округления копеек в 1С:Управление торговлей 11.4 предусмотрены специальные механизмы управления форматно-логическим контролем.

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

  1. Перейдем в раздел НСИ и администрирование > Администрирование > Подключаемое оборудование.
  2. Откроем список Подключаемое оборудование и найдем карточку используемой ККТ.
  3. В настройках кассы найдем параметр Способ форматно-логического контроля (или Форматно-логический контроль).
  4. Установим значение в положение «Зачитывать суммы» или «Разделять строки».

    При выборе варианта «Зачитывать суммы» система 1С при обнаружении копеечных расхождений автоматически скорректирует сумму последней позиции чека, чтобы итоговая сумма товарных строк строго совпала с общей суммой оплаты.

Способ 2. Проверка установок округления в правилах скидок

Если в торговом предприятии активно используются автоматические скидки, перейдем в раздел CRM и продажи > Правила продаж > Скидки (наценки) и проверим настройки округления. Для всех распределяемых скидок рекомендуем указывать округление в пользу покупателя до целых копеек или рублей, чтобы избежать появления дробей с плавающей запятой на этапе распределения по строкам номенклатуры.

← На главную