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

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

В процессе работы с конфигурацией 1С:Управление производственным предприятием (УПП) редакции 1.3 (а также в аналогичных решениях на обычных формах, таких как 1С:Управление торговлей 10.3 или 1С:Комплексная автоматизация 1.1) пользователи часто сталкиваются с критической ошибкой при пробитии чеков по безналичным расчетам от физических лиц. При попытке распечатать чек на предоплату из документа «Платежное поручение входящее» или «Приходный кассовый ордер» (ПКО) итоговая сумма в чеке удваивается. Программа разбивает чек по товарным позициям из заказа покупателя и одновременно добавляет отдельную строку общего платежа вида «Аванс / Платеж / Оплата от...» на ту же сумму.

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

Выясняем техническую причину сбоя

Данная проблема носит массовый характер и связана с изменениями в законодательстве (ФЗ-54), вступившими в силу летом 2019 года. Именно тогда стала обязательной фискализация безналичных расчетов с физическими лицами. Разработчики 1С оперативно обновляли механизмы интеграции с ККТ, что привело к усложнению логики распределения платежей в релизах линейки 1.3.123.x и 1.3.124.x.

Проанализируем алгоритм работы программы при проведении оплаты по заказам:

  1. Когда бухгалтер открывает документ оплаты (например, «Платежное поручение входящее») и нажимает на кнопку печати чека прямо из формы документа, система обращается к новой сложной процедуре формирования XML-пакета для ККТ.
  2. Если в документе заполнен реквизит ЗаказПокупателя, но фактической отгрузки (реализации) еще не было, программа пытается одновременно отработать две разные логические схемы:
    • Выгрузить детальную спецификацию товаров из заказа (чтобы обеспечить требования ФФД к номенклатурному составу предоплаты).
    • Зафиксировать общую сумму поступивших денежных средств как авансовый платеж.
  3. Из-за программной ошибки в процедурах заполнения структуры чека (в модулях интеграции с ККТ) обе эти ветки срабатывают параллельно. В фискальный накопитель уходит команда на печать как конкретных товарных позиций, так и общей суммы платежа одной строкой. Кассовый аппарат послушно суммирует эти данные, из-за чего итоговая сумма чека удваивается, и некорректная выручка уходит в налоговую через ОФД.

Ниже представлен концептуальный пример кода, иллюстрирующий, где именно происходил сбой в логике распределения сумм:


// Пример ошибочной логики формирования строк чека
ТаблицаТоваров = ПолучитьТаблицуТоваровПоЗаказу(ДокументОплаты.Сделка);
Для Каждого СтрокаТовара Из ТаблицаТоваров Цикл
    // Программа добавляла товарные позиции по заказу
    ДобавитьСтрокуВПаакетЧека(СтрокаТовара.Номенклатура, СтрокаТовара.Сумма);
КонецЦикла;

// Встроенный ошибочный дублирующий блок распределения авансов
Если Не ДокументОплаты.Сделка.ПроведенРеализацией Тогда
    // Программа ошибочно добавляла еще одну строку на всю сумму документа оплаты
    ДобавитьСтрокуВПаакетЧека("Аванс / Платеж / Оплата от " + ДокументОплаты.Контрагент, ДокументОплаты.СуммаДокумента);
КонецЕсли;

Быстрое обходное решение без изменения кода

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

Выполним следующие шаги для корректной печати чека:

  1. Откройте журнал или форму списка документов (например, список «Платежные поручения входящие» или «Приходные кассовые ордера»).
  2. Найдите нужный документ оплаты в списке и выделите его курсором мыши (не открывая сам документ!).
  3. Нажмите кнопку «Чек», расположенную на верхней командной панели формы списка.

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

Официальное исправление проблемы

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

В этом и последующих релизах были сделаны важные доработки:

Если у вас нетиповая (измененная) конфигурация, программисту необходимо перенести изменения из общего модуля МенеджерОборудованияКлиентСервер и модулей документов расчетов актуального релиза УПП.

Как исправить уже отправленные некорректные чеки в налоговую

Так как ошибочные чеки с задвоенной суммой уже ушли оператору фискальных данных (ОФД) и зафиксированы в ФНС, их необходимо аннулировать и пробить заново. В противном случае при проверке налоговая инспекция обнаружит завышение выручки или неоприходование денежных средств.

Рассмотрим порядок действий для исправления ситуации в зависимости от используемого релиза 1С:УПП:

Вариант 1. Исправление в релизах 1.3.126.1 и выше (Рекомендуемый)

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

  1. Откройте исходный документ оплаты (ПКО или платежное поручение).
  2. Нажмите кнопку «Создать на основании» и выберите документ «Чек коррекции».
  3. В созданном документе укажите тип коррекции: «Исправление ошибки» (самостоятельно).
  4. Программа автоматически заполнит документ двумя встречными операциями: сначала будет сформирован чек с признаком расчета «Возврат прихода» на ошибочную (задвоенную) сумму, а затем — новый правильный чек с признаком «Приход» на корректную сумму.
  5. Пробейте чек коррекции на ККТ. Данные автоматически улетучатся в ОФД.

Вариант 2. Исправление в старых релизах (до 1.3.126.1) вручную

В старых версиях УПП штатный чек коррекции из платежки позволял оформить только операцию с признаком «Неприменение ККТ», что методологически не подходит для исправления ошибки задвоения. В этом случае исправление производится через утилиту драйвера ККМ:

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