При интеграции ККТ АТОЛ с конфигурациями на обычных формах (например, 1С:Управление торговлей 10.3) технические специалисты часто сталкиваются с ситуацией, когда данные в XML-файле, передаваемом драйверу, не соответствуют тому, что печатается в чеке. Наиболее распространенные симптомы: в XML указана одна система налогообложения (СНО), а в чеке печатается другая, либо касса выдает ошибку «Некорректная СНО». Рассмотрим подробно причины этого поведения и способы решения для различных версий драйверов.
Для начала проанализируем, как 1С передает данные о системе налогообложения в драйвер. В структуре XML-пакета за это отвечает атрибут TaxVariant. Рассмотрим пример типичного блока параметров чека:
<Receipt CheckType="1" TaxVariant="1">
<Positions>
<Row Name="Товар 1" Quantity="1" Price="100" Sum="100" Tax="none" />
</Positions>
</Receipt>
Согласно протоколам АТОЛ и требованиям ФФД, значения TaxVariant распределяются следующим образом:
Если мы передаем TaxVariant="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.
Проанализируем наиболее интересную ситуацию, когда касса фискализирована на две СНО (например, УСН Доход-Расход и ЕНВД), но при попытке пробить чек по одной из них возникает ошибка «Некорректная СНО». Рассмотрим алгоритм исправления в драйвере версии 9.х:
Выяснилось, что в 9-й версии драйвера существует программная особенность: если в параметрах ККТ установлены флаги сразу для нескольких СНО, драйвер может конфликтовать с командой из 1С. Как ни странно, решение заключается в следующем: оставьте включенной только одну (основную) СНО в настройках драйвера, даже если аппарат фискализирован на несколько систем.
При такой настройке драйвер перестает пытаться самостоятельно «угадать» СНО и начинает прозрачно транслировать код TaxVariant, пришедший из 1С. Это позволяет успешно пробивать чеки по любой из СНО, на которые зарегистрирована касса.
Если вышеуказанные действия не помогли, необходимо проверить, на какие именно СНО зарегистрирован аппарат. Сделаем это через отчет о параметрах регистрации:
TaxVariant из 1С всегда будет возвращать ошибку «Некорректная СНО».Важно помнить: изменение списка доступных СНО требует проведения операции перерегистрации ККТ без замены ФН. Простое изменение «галочек» в драйвере не добавляет новую СНО в фискальную память аппарата.
Иногда требуется печатать не только фискальные чеки, но и дополнительные документы (купоны, информацию о скидках). В современных обработках для этого используется механизм Шаблона чека.
Рассмотрим, как можно настроить печать произвольного текста:
PrintText или специфические параметры в XML.CheckType="7" (для ФФД 1.05) или специализированные методы открытия нефискального документа.Подведем итог: если вы столкнулись с подменой СНО, первым делом проверьте версию драйвера и обработки обслуживания. Если версия актуальна, перейдите к настройкам параметров ККТ и убедитесь, что «автоматика» драйвера не перебивает команды из 1С. Помните, что для стабильной работы связки «1С + АТОЛ» предпочтительнее использовать 10-ю версию драйвера, так как она более строго соответствует актуальному законодательству и имеет более предсказуемую логику работы с атрибутами чека.