Как вывести номенклатуру в фискальный чек из Приходного кассового ордера в УТ 10.3?

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

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

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

1. Проверка типа подключенного торгового оборудования

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

Посмотрим на типовой алгоритм обработки нажатия кнопки пробития чека в документе:


Процедура ОсновныеДействияФормыЧек(Кнопка)
    ВидФУ = ПолучитьСерверТО().ПолучитьВид(ФУ);
    Если ВидФУ = Перечисления.ВидыТорговогоОборудования.ФискальныйРегистратор Тогда
        // Старый режим работы: чек печатается без товарного состава
        Результат = ПолучитьСерверТО().ПечатьЧекаПКО(ФУ, "", НомерЧекаККМ, НомерСмены, ТаблицаПлатежей, СуммаДокумента, 0);
    Иначе
        // Режим онлайн-ККТ: выполняется фискализация с передачей XML-пакета данных позиций
        Результат = ОбработкаОбслуживания.ФискализироватьЧек(ОбъектДрайвера, ПараметрыЧека);
    КонецЕсли;
КонецПроцедуры

Если устройство зарегистрировано в справочнике торгового оборудования со старым типом ФискальныйРегистратор, конфигурация вызывает функцию ПечатьЧекаПКОРКО. В этом случае на печать отправляется только обобщенный платеж:


Для Каждого Позиция Из ОписаниеПлатежа Цикл
    Результат = Обработка.ПечататьСтроку(Объект,
                                         Позиция.Заголовок,
                                         1,
                                         Позиция.Сумма,
                                         0,
                                         НомерОтдела,
                                         Позиция.НДС);
    Если ЗначениеЗаполнено(Результат) Тогда
        Прервать;
    КонецЕсли;
КонецЦикла;

Обязательное условие: кассовый аппарат должен быть подключен в справочнике «Подключение и настройка торгового оборудования» исключительно с типом оборудования «ККТ с передачей данных». Только при таком типе вызывается метод ФискализироватьЧек, формирующий полный перечень товарных строк для онлайн-кассы.

2. Настройка взаиморасчетов и привязка документов-оснований

Проанализируем, откуда программа извлекает сведения о номенклатуре. Так как в самом ПКО списка товаров нет, система выполняет динамический поиск документа-источника. Заполнение данных чека подчиняется следующим правилам:

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

3. Требования к суммам и ставкам НДС

Рассмотрим распространенные скрытые причины, из-за которых номенклатура не выводится на печать, даже если документ расчетов указан правильно:

  1. Несовпадение сумм: в ранних релизах линейки УТ 10.3 при несовпадении суммы оплаты в ПКО с итоговой суммой документа-основания (частичная предоплата или постоплата) алгоритм не может однозначно сопоставить оплату конкретным позициям. В такой ситуации формируется чек на аванс без перечня номенклатуры. Сумма оплаты и сумма привязанного документа должны строго совпадать.
  2. Разные ставки НДС: обязательным условием для автоматического подбора строк является совпадение сумм и ставок НДС в разрезе документа расчетов. Если в одном заказе присутствуют позиции с разными ставками налога (например, 10% и 20%), типовой алгоритм ранних сборок УТ 10.3 может заблокировать детализацию строк.
  3. Округления и автоматические скидки: драйвер ККТ выполняет жесткую проверку формулы: Количество * Цена = Сумма. При наличии скидок копейки могут вызвать математическое расхождение, из-за чего обработка фискализации откажется принимать товарный состав.

4. Алгоритм действий для успешной печати чека

Разберем по шагам правильную цепочку действий в программе:

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