Переход на новые форматы фискальных данных (ФФД 1.05 и ФФД 1.2) часто преподносит неприятные сюрпризы технического характера. Типичная ситуация: организация находится на упрощенной системе налогообложения (УСН) или патенте, в программе 1С:Управление торговлей (УТ 11) чеки ККМ оформляются со ставкой «Без НДС», однако после обновления прошивки фискального регистратора АТОЛ (например, популярных моделей АТОЛ 55Ф, 30Ф) на чеках неожиданно начинает печататься строка «Сумма НДС 10/110» с расчетом суммы налога.
В этой статье мы подробно разберем технические причины возникновения этой ошибки, проанализируем механизмы взаимодействия платформы 1С с драйверами торгового оборудования и рассмотрим четыре эффективных способа решения проблемы.
Суть проблемы кроется в рассинхронизации внутренней таблицы налоговых ставок микропрограммы (прошивки) кассового аппарата и логики трансляции команд в старых версиях драйверов АТОЛ (линейка драйверов ДТО 8.х, в частности версии 8.16.2 и аналогичные).
Давайте проанализируем, как происходит отправка чека на печать:
Tax="none" (что соответствует ставке «Без НДС»).TaxTypeNumber.Именно на этапе трансляции индексов и происходит сбой из-за изменения прошивки ККТ под ФФД 1.05:
4 жестко соответствовал ставке «Без НДС». Интеграционная компонента 1С при обработке значения none отправляла в ККТ команду с индексом 4.4 был переназначен под расчетную ставку «НДС 10/110». При этом ставка «Без НДС» сместилась на позицию 6 (или 5 в некоторых версиях ПО кассы).Поскольку старый драйвер 8.16 продолжал сопоставлять строковое значение none с числовым кодом 4, обновленная касса честно принимала команду и печатала налог согласно своей новой внутренней логике — то есть «НДС 10/110».
Ниже приведен пример типового XML-пакета, генерируемого 1С при формировании чека. Обратите внимание на параметр Tax в строке товарной позиции:
<Receipt>
<Positions>
<FiscalString Name="Товар тестовый" Quantity="1" Price="1000.00" Amount="1000.00" Department="1" Tax="none" />
</Positions>
<Payments Cash="1000.00" ElectronicPayment="0.00" />
</Receipt>
Переопределение значения переменной ЗначениеСтавкаНДС = "none" непосредственно в общем модуле или модуле менеджера оборудования 1С (функция ПолучитьXMLПакетДляФискализацияЧека) не решает проблему, поскольку сама обработка драйвера 8.15 / 8.16 всё равно превратит это значение в некорректный для новой прошивки индекс 4.
---
Использование устаревших драйверов 8-й и 9-й линеек от компании АТОЛ нецелесообразно, так как они полностью сняты с поддержки. Для корректной работы кассового оборудования в современных конфигурациях 1С (УТ 11, КА 2, ERP, Розница) необходимо использовать драйвер АТОЛ ДТО 10.х.
В десятом поколении драйвера сопоставление налоговых ставок реализовано корректно и полностью соответствует структуре ФФД 1.05/1.2:
1 — НДС 20% (ранее 18%)2 — НДС 10%3 — НДС 20/1204 — НДС 10/1105 — НДС 0%6 — Без НДСРазберем по шагам, как выполнить переход на ДТО 10:
none с корректным кодом 6.---
Если вы используете современные типовые конфигурации на управляемых формах, то вам не обязательно прибегать к программированию или снятию конфигурации с поддержки. Разработчики 1С предусмотрели встроенные механизмы сопоставления налогов.
Для настройки выполните следующие действия:
6 (или выбрать значение «Без НДС» из выпадающего списка драйвера).---
Этот способ идеально подходит для организаций и индивидуальных предпринимателей на спецрежимах (УСН, Патент), которые по закону реализуют товары и услуги исключительно без НДС. Мы можем переопределить поведение кассы на аппаратном уровне через сервисную утилиту.
Рассмотрим алгоритм настройки через «Тест драйвера ККТ»:
После этой несложной манипуляции касса АТОЛ будет автоматически подставлять ставку «Без НДС» даже в тех случаях, когда от устаревшего драйвера приходят некорректные или неопределенные параметры налога.
---
Рассмотрим крайний случай: у вас нет возможности оперативно обновить драйвер или платформу 1С (например, из-за жестких требований сетевой безопасности компании или сильной кастомизации старой версии конфигурации). В этой ситуации мы можем скорректировать файлы сопоставления налогов самого драйвера 8.х без изменения программного кода 1С.
Для этого выполним ручную правку конфигурационных параметров интеграционной компоненты:
C:\Program Files (x86)\ATOL\Drivers8\1Cv82\ или папка шаблонов конфигурации 1С).FR-ATOL_54FZ.zip, и распакуйте его во временную папку.TaxIndexDef или аналогичные).none). Пример фрагмента кода, который подлежит изменению:
<TaxMap>
<Tax Rate="none" Value="4" />
<Tax Rate="vat10" Value="2" />
<Tax Rate="vat18" Value="3" />
</TaxMap>
Value для ставки none с устаревшей четверки на актуальную шестерку:
<TaxMap>
<Tax Rate="none" Value="6" />
<Tax Rate="vat10" Value="2" />
<Tax Rate="vat18" Value="3" />
</TaxMap>
После перезапуска сеанса 1С интеграционная компонента начнет транслировать строковое значение none в правильный физический индекс налога в ККТ, и чеки станут печататься без ошибочной строки НДС 10/110.