Как настроить печать чека «Без НДС» на ККТ АТОЛ FPrint-22ПТК в 1С?

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

При переходе на онлайн-кассы и формат фискальных данных (ФФД по 54-ФЗ) многие специалисты сталкиваются с ситуацией, когда редактирование таблиц налогов и секций в фискальном регистраторе перестает влиять на печать чека. Например, на аппаратах АТОЛ FPrint-22ПТК вместо требуемого значения «Без НДС» касса упорно выводит «НДС 0%» либо базовую ставку, а при попытке передать строковое обозначение налога программа 1С аварийно завершает работу.

Разберем детально, почему старые методы настройки секций больше не работают, как стандарт БПО 1С передает фискальные данные и как корректно настроить печать ставки «Без НДС».

Почему не работают настройки секций и таблиц налогов в ККТ

Проанализируем архитектурные изменения фискализации. В кассовых аппаратах старого образца привязка ставки налога определялась номером секции (отдела) или внутренней таблицей налоговых ставок фискального регистратора. С введением требований 54-ФЗ логика кардинально изменилась:

  1. Индивидуальная передача реквизитов: Налоговая ставка (тег 1199) теперь передается программным обеспечением индивидуально для каждой товарной позиции фискального документа.
  2. Игнорирование внутренних таблиц ККТ: Фискальный накопитель и микропрограмма кассы больше не берут налог из локальной таблицы секций регистратора, а строго ожидают данные из входящего XML-пакета или вызова метода драйвера.
  3. Разделение понятий «НДС 0%» и «Без НДС»: Ранее обе ставки могли транслироваться числовым значением 0, однако для фискальных органов это принципиально разные режимы (нулевая ставка НДС по ст. 164 НК РФ и освобождение от уплаты налога/спецрежимы).

Формат передачи ставки налога в стандартах 1С БПО

Рассмотрим, как конфигурации 1С на базе Библиотеки подключаемого оборудования (БПО) передают параметры позиций чека. Для формирования фискальной позиции используется XML-пакет, в котором за ставку налога отвечает атрибут Tax:

  1. "18" / "20" — основная ставка НДС;
  2. "10" — ставка НДС 10%;
  3. "0" — ставка НДС 0%;
  4. "none" — признак «Без НДС».

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


ТекущаяПозиция.СтавкаНДС = "none";
ЗаписьXML.ЗаписатьАтрибут("Tax", XMLСтрока(ТекущаяПозиция.СтавкаНДС));

Причины сбоев и аварийного завершения 1С при передаче «none»

Выясним причину, по которой при передаче строкового параметра "none" касса либо выдает ошибку, либо платформа 1С аварийно закрывается:

  1. Несоответствие версии компоненты: В ранних релизах драйверов (в частности, ДТО 8.14.х и компоненте FprnM1C82_54FZ.dll) парсер входящего XML ожидал строго числовой тип данных для ставки. Попытка передать строковый литерал "none" приводила к критическому исключению (Type Mismatch) внутри C++ библиотеки, роняя рабочий процесс 1С.
  2. Устаревшая прошивка ККТ: Первые версии микропрограмм фискальных аппаратов АТОЛ не умели корректно дифференцировать тег 1199 без явного указания системы налогообложения (СНО) всего чека.
  3. Конфликт системы налогообложения: Если в документе или в настройках кассы не передается система налогообложения (например, УСН Доходы или Патент), ККТ по умолчанию применяет общую систему (ОСН), требуя начисления НДС.

Пошаговое решение проблемы

Разберем по шагам действия, необходимые для корректной печати чеков «Без НДС» на АТОЛ FPrint-22ПТК:

  1. Обновление драйвера торгового оборудования (ДТО):

    Необходимо обновить драйверы ККТ до актуальных релизов (начиная с ДТО 8.15.x / 8.16.x или перейти на ДТО 10). В обновленных версиях компоненты интеграции парсер XML полностью соответствует стандарту БПО и корректно принимает строковое значение "none".

  2. Обновление прошивки кассового аппарата:

    Убедимся, что на ККТ FPrint-22ПТК установлена актуальная прошивка с поддержкой ФФД 1.05 или выше. Это позволит аппарату корректно обрабатывать тег 1199 в соответствии с форматом фискальных документов.

  3. Проверка настроек системы налогообложения в 1С:

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

  4. Проверка передачи атрибутов в коде (для нетиповых конфигураций):

    Если используется доработанная конфигурация, проверим структуру передаваемой товарной позиции. Значение ставки налога для позиций без налога должно заполняться строкой "none", а не числом 0 или пустой строкой:

    
    Если НЕ ЗначениеЗаполнено(Выборка.СтавкаНДС) Или Выборка.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС Тогда
        ТекущаяПозиция.СтавкаНДС = "none";
    ИначеЕсли Выборка.СтавкаНДС = Перечисления.СтавкиНДС.НДС0 Тогда
        ТекущаяПозиция.СтавкаНДС = "0";
    КонецЕсли;
    

После выполнения обновления драйвера и прошивки ККТ передача параметра Tax="none" будет корректно распознаваться аппаратом, и в чеке напечатается требуемая строка «Без НДС» без необходимости ручной правки таблиц кассового аппарата.

← На главную