Как исправить проблему двоения суммы в чеке при печати из платежного поручения в 1С:УПП 1.3

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

Проблема «двоения» или «зацикливания» суммы в фискальном чеке — одна из самых распространенных ошибок, с которыми сталкивались пользователи 1С:УПП 1.3 в период активного внедрения требований 54-ФЗ и форматов фискальных данных (ФФД 1.05). Суть ситуации заключается в том, что при попытке пробить чек из документа Входящее платежное поручение, система выводит итоговую сумму, которая в два раза превышает фактически полученную оплату. В чеке одновременно отображается и разбивка по товарам из заказа, и общая сумма как «Аванс» или «Платеж».

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

Выясняем причину двоения суммы

Давайте разберем, почему драйвер кассового аппарата воспринимает данные от 1С некорректно. Основная причина кроется в алгоритме формирования XML-пакета, который конфигурация передает драйверу ККТ. Программа анализирует табличную часть документа и связанные с ним заказы. В ранних релизах УПП (в частности, в 1.3.123.3) существовала ошибка, при которой в структуру чека одновременно попадали две коллекции данных:

  1. Таблица товаров: перечень номенклатуры из заказа с указанием цены и количества.
  2. Сведения об оплате: общая сумма документа, которая классифицировалась как авансовый платеж.

Драйвер ККТ (особенно версий АТОЛ 10.х) интерпретирует это как два независимых основания для платежа и суммирует их в поле «Итог». Чтобы этого избежать, необходимо обеспечить четкое соответствие признаков способа расчета требованиям ФФД.

Решение 1: Обновление конфигурации и драйверов

Как показывает практика и опыт участников профессиональных сообществ, наиболее эффективным и «чистым» решением является обновление системы до актуальных релизов. Рассмотрим этот путь по шагам:

  1. Обновление релиза УПП: Проблема была официально признана и исправлена в релизе 1.3.124. В этом обновлении была пересмотрена логика общего модуля Киоск и механизмов формирования данных для печати чека.
  2. Обновление драйвера ККТ: Для корректной работы с новыми механизмами 1С необходимо использовать драйверы АТОЛ версии не ниже 10.5.
  3. Обновление обработки обслуживания: Вместе с релизом 1.3.124 поставляется обновленная обработка для работы с ККТ. Важно убедиться, что в справочнике «Подключаемое оборудование» используется актуальный макет или внешняя обработка, соответствующая версии драйвера.

После выполнения этих действий система начинает корректно разделять понятия «Аванс» (когда состав товаров не определен) и «Предоплата» (когда платеж привязан к конкретным позициям заказа).

Решение 2: Настройка учетной политики и договоров

Если обновление по каким-то причинам откладывается, проанализируем настройки ведения взаиморасчетов. Правильное определение Признака способа расчета (Тег 1214) напрямую зависит от настроек договора с контрагентом.

Для того чтобы 1С:УПП могла корректно сопоставить входящий платеж и товарную спецификацию, выполним следующие действия:

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

Технический анализ формирования чека (для разработчиков)

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


// Пример логики определения признака способа расчета
Если СуммаДокумента = СуммаПоЗаказу Тогда
    ПризнакСпособаРасчета = Перечисления.ПризнакиСпособаРасчета.ПредоплатаПолная;
ИначеЕсли СуммаДокумента < СуммаПоЗаказу Тогда
    ПризнакСпособаРасчета = Перечисления.ПризнакиСпособаРасчета.ПредоплатаЧастичная;
КонецЕсли;

В проблемных релизах код ошибочно добавлял сумму в секцию Оплаты даже тогда, когда она уже была распределена по ПозициямЧека. Для исправления ситуации вручную (в виде расширения или правки кода) необходимо контролировать, чтобы при наличии заполненной таблицы товаров сумма в структуре Оплаты передавалась только один раз с типом «Электронными» или «Безналичными», без дублирования в строках товаров как самостоятельных платежных единиц.

Важные нюансы работы с безналичными платежами

Рассмотрим правила работы с чеками при поступлении оплаты на расчетный счет от физических лиц (так называемые «безналичные расчеты»):

  1. Сроки пробития: Согласно закону, чек должен быть сформирован не позднее рабочего дня, следующего за днем осуществления расчета, но до момента передачи товара покупателю.
  2. Тег 1081: При печати из платежного поручения сумма должна попадать в секцию «Безналичными». Если в чеке фигурирует «Наличные», это является нарушением правил применения ККТ.
  3. Состав чека: Если в Заказе покупателя указаны конкретные позиции, они должны попасть в чек с признаком «Предоплата». Если же вы просто принимаете деньги без понимания, какой товар будет отгружен, необходимо очистить связь с заказом и пробивать чек на «Аванс» общей суммой.

Выводы и рекомендации

Подводя итог, можно сказать, что проблема двоения суммы в 1С:УПП — это следствие несоответствия старых алгоритмов формирования XML-пакетов новым требованиям драйверов ККТ.

Для исправления ситуации мы рекомендуем:

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

← На главную