Как исправить ошибку «Недопустимый тип оплаты товара» при пробитии чека в 1С:УТ 11, если сумма оплаты превышает сумму реализации?

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

При работе в 1С:Управление торговлей (начиная с версий 11.4.13) пользователи часто сталкиваются с ситуацией, когда при попытке пробить чек из документа Приходный кассовый ордер (ПКО) или Эквайринговая операция возникает ошибка «Недопустимый тип оплаты товара», и чек аннулируется на стороне ККТ. Проанализируем ситуацию: чаще всего это происходит, когда сумма платежа превышает сумму документа-основания (например, Реализация товаров и услуг). Рассмотрим подробно причины этого поведения и способы решения проблемы.

Почему возникает эта ошибка? Выясним причину

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

  1. Оплата кредита (980 руб.) — погашение задолженности по уже отгруженному товару.
  2. Аванс (20 руб.) — предоплата за будущие поставки.

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

Способ 1: Корректировка расшифровки платежа в документе

Рассмотрим самый действенный метод решения проблемы без изменения кода программы. Проанализируем, как заполнены данные на вкладке «Расшифровка платежа» в документе ПКО. Если там указана одна строка с объектом расчетов (накладной), то 1С пытается «впихнуть» всю сумму в контекст этой накладной.

Для исправления ситуации выполним следующие шаги:

  1. Перейдем в документ Приходный кассовый ордер.
  2. На вкладке «Расшифровка платежа» переключимся в режим «Списком» (если он не включен).
  3. Разобьем оплату на две строки:
    • В первой строке укажем документ-основание (реализацию) и сумму, строго равную сумме долга по этой накладной (например, 980 руб.).
    • Во второй строке оставим поле «Объект расчетов» пустым или укажем Договор, а в сумме укажем остаток (например, 20 руб.).

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

Способ 2: Настройка порядка расчетов в договоре

Разберем, как настройки договора влияют на формирование чека. Если в договоре с контрагентом установлен порядок расчетов «По накладным», система жестко контролирует соответствие сумм документам отгрузки. При возникновении переплаты программа не всегда может корректно определить, куда отнести «излишек» в рамках фискального чека.

Посмотрим на настройки договора:

  1. Откроем договор с контрагентом.
  2. Проверим раздел «Детализация расчетов».
  3. Если бизнес-процессы позволяют, попробуйте изменить детализацию на «По договорам». Это упростит распределение оплат для системы, так как любой входящий платеж будет считаться оплатой в рамках договора в целом, и программа сможет гибче формировать признаки способа расчета в чеке.

Способ 3: Проверка параметров ККТ и драйвера Атол

Иногда ошибка вызвана тем, что в 1С неправильно сопоставлены типы оплат с индексами в драйвере ККТ. Проанализируем настройки подключаемого оборудования. В новых релизах УТ 11 после обновления конфигурации параметры связи с ККТ могут требовать актуализации.

Выполним проверку:

  1. Зайдем в раздел «НСИ и администрирование» — «Реквизиты организации».
  2. Перейдем в «Настройки локального учета» (или настройки касс в справочнике подключаемого оборудования).
  3. Убедимся, что для организации включена поддержка необходимых систем налогообложения и видов деятельности (например, торговля комиссионным товаром, если это применимо).
  4. В настройках драйвера (например, Атол 10.x) проверим таблицу «Типы оплат». Убедимся, что номера типов оплат, которые передает 1С (Наличные — 0, Безналичные — 1 и т.д.), соответствуют настройкам в самой кассе.

Программное решение для разработчиков

Если вы создаете документы оплаты программно, обратите внимание на специфические реквизиты, которые появились в последних версиях платформы и конфигурации. Проанализируем пример, упомянутый в обсуждении. Существует реквизит ВариантОформленияЗакупок (и аналогичные для продаж), который может влиять на механизмы распределения оплат, даже если соответствующие функциональные опции (например, «Товары в пути») выключены в интерфейсе.

При программном заполнении документа Приходный кассовый ордер или Поступление безналичных денежных средств, важно корректно заполнять таблицу РасшифровкаПлатежа. Посмотрим на пример кода для правильного распределения:


// Пример корректного заполнения расшифровки платежа для исключения ошибки типов оплаты
НоваяСтрока = Объект.РасшифровкаПлатежа.Добавить();
НоваяСтрока.Сумма = СуммаДолга;
НоваяСтрока.ОбъектРасчетов = ДокументРеализация;
НоваяСтрока.СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.ОплатаОтПокупателя;

// Добавляем авансовую часть отдельно
Если СуммаПлатежа > СуммаДолга Тогда
    СтрокаАванса = Объект.РасшифровкаПлатежа.Добавить();
    СтрокаАванса.Сумма = СуммаПлатежа - СуммаДолга;
    СтрокаАванса.ОбъектРасчетов = Объект.Договор; // Указываем договор вместо накладной
    СтрокаАванса.СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.АвансОтПокупателя;
КонецЕсли;

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

Рекомендации по обновлению

Если проблема появилась сразу после обновления УТ 11.4 на более свежий релиз, рекомендуем выполнить следующие действия:

  1. Обновить драйвер ККТ до актуальной версии (например, Атол 10.9.x и выше).
  2. Проверить прошивку кассы — ФНС регулярно вносит изменения в протоколы, и старые прошивки могут некорректно обрабатывать новые команды от 1С.
  3. Провести «Тестовую продажу» из утилиты драйвера ККТ с аналогичными параметрами (сумма + признак способа расчета), чтобы исключить аппаратную неисправность ФН.

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

← На главную