При работе в 1С:Управление торговлей (начиная с версий 11.4.13) пользователи часто сталкиваются с ситуацией, когда при попытке пробить чек из документа Приходный кассовый ордер (ПКО) или Эквайринговая операция возникает ошибка «Недопустимый тип оплаты товара», и чек аннулируется на стороне ККТ. Проанализируем ситуацию: чаще всего это происходит, когда сумма платежа превышает сумму документа-основания (например, Реализация товаров и услуг). Рассмотрим подробно причины этого поведения и способы решения проблемы.
Основная причина кроется в ужесточении контроля за соблюдением Форматов фискальных данных (ФФД). Когда мы пытаемся пробить чек на сумму 1000 рублей по реализации, оформленной на 980 рублей, программа сталкивается с необходимостью распределить эти средства. С точки зрения законодательства и логики 1С, этот платеж должен быть разделен на две части:
Проблема заключается в том, что согласно актуальным требованиям ФФД (особенно 1.05 и 1.2), использование разных признаков способа расчета (тег 1214) в рамках одного чека или одной позиции часто ограничивается драйвером кассы или прошивкой ККТ. Ошибка «Недопустимый тип оплаты» сигнализирует о том, что касса получила комбинацию данных, которую она не может фискализировать в текущем режиме.
Рассмотрим самый действенный метод решения проблемы без изменения кода программы. Проанализируем, как заполнены данные на вкладке «Расшифровка платежа» в документе ПКО. Если там указана одна строка с объектом расчетов (накладной), то 1С пытается «впихнуть» всю сумму в контекст этой накладной.
Для исправления ситуации выполним следующие шаги:
Приходный кассовый ордер.Договор, а в сумме укажем остаток (например, 20 руб.).При такой настройке 1С сформирует корректные данные для драйвера ККТ, разделяя «Погашение кредита» и «Аванс» по разным логическим объектам, что позволит успешно пробить чек.
Разберем, как настройки договора влияют на формирование чека. Если в договоре с контрагентом установлен порядок расчетов «По накладным», система жестко контролирует соответствие сумм документам отгрузки. При возникновении переплаты программа не всегда может корректно определить, куда отнести «излишек» в рамках фискального чека.
Посмотрим на настройки договора:
Иногда ошибка вызвана тем, что в 1С неправильно сопоставлены типы оплат с индексами в драйвере ККТ. Проанализируем настройки подключаемого оборудования. В новых релизах УТ 11 после обновления конфигурации параметры связи с ККТ могут требовать актуализации.
Выполним проверку:
Если вы создаете документы оплаты программно, обратите внимание на специфические реквизиты, которые появились в последних версиях платформы и конфигурации. Проанализируем пример, упомянутый в обсуждении. Существует реквизит ВариантОформленияЗакупок (и аналогичные для продаж), который может влиять на механизмы распределения оплат, даже если соответствующие функциональные опции (например, «Товары в пути») выключены в интерфейсе.
При программном заполнении документа Приходный кассовый ордер или Поступление безналичных денежных средств, важно корректно заполнять таблицу РасшифровкаПлатежа. Посмотрим на пример кода для правильного распределения:
// Пример корректного заполнения расшифровки платежа для исключения ошибки типов оплаты
НоваяСтрока = Объект.РасшифровкаПлатежа.Добавить();
НоваяСтрока.Сумма = СуммаДолга;
НоваяСтрока.ОбъектРасчетов = ДокументРеализация;
НоваяСтрока.СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.ОплатаОтПокупателя;
// Добавляем авансовую часть отдельно
Если СуммаПлатежа > СуммаДолга Тогда
СтрокаАванса = Объект.РасшифровкаПлатежа.Добавить();
СтрокаАванса.Сумма = СуммаПлатежа - СуммаДолга;
СтрокаАванса.ОбъектРасчетов = Объект.Договор; // Указываем договор вместо накладной
СтрокаАванса.СтатьяДвиженияДенежныхСредств = Справочники.СтатьиДвиженияДенежныхСредств.АвансОтПокупателя;
КонецЕсли;
Такой подход гарантирует, что при формировании XML-пакета для драйвера ККТ, 1С выделит разные позиции или разные признаки расчета, что позволит кассе принять чек без ошибки «Недопустимый тип оплаты».
Если проблема появилась сразу после обновления УТ 11.4 на более свежий релиз, рекомендуем выполнить следующие действия:
Подведем итог: ошибка чаще всего является следствием того, что программа пытается объединить в одну операцию погашение долга и аванс. Ручное разделение этих сумм в расшифровке платежа — самый быстрый и надежный способ возобновить работу кассы.