Почему при пробитии чека на ККТ АТОЛ выходит неверная СНО или ошибка «Некорректная СНО»?

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

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

Анализ структуры TaxVariant в XML-файле

Для начала проанализируем, как 1С передает данные о системе налогообложения в драйвер. В структуре XML-пакета за это отвечает атрибут TaxVariant. Рассмотрим пример типичного блока параметров чека:


<Receipt CheckType="1" TaxVariant="1">
    <Positions>
        <Row Name="Товар 1" Quantity="1" Price="100" Sum="100" Tax="none" />
    </Positions>
</Receipt>

Согласно протоколам АТОЛ и требованиям ФФД, значения TaxVariant распределяются следующим образом:

  1. 0 — Общая СНО (ОСН).
  2. 1 — Упрощенная СНО (Доход).
  3. 2 — Упрощенная СНО (Доход минус Расход).
  4. 3 — Единый налог на вмененный доход (ЕНВД) — в современных реалиях заменяется на другие системы, но в старом коде может присутствовать.
  5. 4 — Единый сельскохозяйственный налог (ЕСХН).
  6. 5 — Патентная система налогообложения (ПСН).

Если мы передаем TaxVariant="1", но в чеке видим ЕНВД, это означает, что драйвер или сама касса игнорируют переданный параметр и подставляют значение «по умолчанию».

Решение 1: Обновление обработки обслуживания и версии драйвера

Одной из первичных причин является несоответствие версии встроенного в 1С драйвера (библиотеки .dll) и версии обработки обслуживания торгового оборудования (ТО). Выясним, как это влияет на работу:

В старых релизах УТ 10.3 (например, до 10.3.43) использовались драйверы серии 8.х. При переходе на новые форматы фискальных данных (ФФД 1.05) потребовалось обновление до драйверов серии 9.х или 10.х. Если вы используете внешнюю обработку обслуживания, убедитесь, что она актуальна. Для АТОЛ версии 9.х рекомендуется использовать обработку не ниже версии 1.8.

Разберем ситуацию: замена библиотеки fptrwin32_fz54_9_11_0_5549.dll на более старую FprnM1C82_54FZ.dll иногда «лечит» проблему, но это временное решение, которое лишает вас поддержки новых функций ФФД. Правильный путь — обновить драйвер до версии 9.12.2 или выше и использовать корректную обработку, которая правильно формирует тег 1055.

Решение 2: Настройка параметров ККТ в драйвере (Парадокс «галочек»)

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

  1. Зайдем в Тест драйвера ККТ.
  2. Перейдем в раздел «Параметры ККТ».
  3. Найдем вкладку «Налоговые ставки» или «СНО».
  4. Проверим установленные флаги (галочки) напротив систем налогообложения.

Выяснилось, что в 9-й версии драйвера существует программная особенность: если в параметрах ККТ установлены флаги сразу для нескольких СНО, драйвер может конфликтовать с командой из 1С. Как ни странно, решение заключается в следующем: оставьте включенной только одну (основную) СНО в настройках драйвера, даже если аппарат фискализирован на несколько систем.

При такой настройке драйвер перестает пытаться самостоятельно «угадать» СНО и начинает прозрачно транслировать код TaxVariant, пришедший из 1С. Это позволяет успешно пробивать чеки по любой из СНО, на которые зарегистрирована касса.

Решение 3: Проверка данных фискализации

Если вышеуказанные действия не помогли, необходимо проверить, на какие именно СНО зарегистрирован аппарат. Сделаем это через отчет о параметрах регистрации:

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

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

Работа с нефискальными документами и шаблонами

Иногда требуется печатать не только фискальные чеки, но и дополнительные документы (купоны, информацию о скидках). В современных обработках для этого используется механизм Шаблона чека.

Рассмотрим, как можно настроить печать произвольного текста:

Подведем итог: если вы столкнулись с подменой СНО, первым делом проверьте версию драйвера и обработки обслуживания. Если версия актуальна, перейдите к настройкам параметров ККТ и убедитесь, что «автоматика» драйвера не перебивает команды из 1С. Помните, что для стабильной работы связки «1С + АТОЛ» предпочтительнее использовать 10-ю версию драйвера, так как она более строго соответствует актуальному законодательству и имеет более предсказуемую логику работы с атрибутами чека.

← На главную