Одной из наиболее распространенных и неприятных проблем при работе с торговым оборудованием в 1С является внезапный отказ кассы печатать чеки с сообщением: «ККТ не зарегистрирована с указанной СНО». Особенно часто эта ситуация проявляется после обновления конфигурации, например, при переходе на релизы линейки 11.4.8.х в «1С:Управление торговлей». Несмотря на заверения пользователей, что «ничего не менялось», программная среда после обновления начинает иначе интерпретировать данные, передаваемые в драйвер кассы. В этой статье мы подробно разберем, почему это происходит и как восстановить работу торговой точки.
Система налогообложения (СНО) — это обязательный реквизит чека. При регистрации фискального накопителя в кассу записывается список допустимых СНО (например, ОСН, УСН доход, Патент). Когда 1С отправляет команду на пробитие чека, она обязана передать код системы налогообложения. Если этот код не совпадает ни с одним из тех, что были указаны при регистрации ККТ, драйвер блокирует операцию и возвращает ошибку.
Разберем, почему после обновления 1С «ломается» эта связка:
Организация — Склад — Учетная политика.Прежде чем вносить изменения в код или выполнять перерегистрацию, мы должны выяснить, что именно «видит» касса и что отправляет программа. Рассмотрим алгоритм проверки:
Во-первых, выясним параметры регистрации ККТ. Для этого необходимо зайти в тест драйвера (например, «Тест драйвера ККТ АТОЛ») и сформировать отчет о параметрах регистрации. В этом отчете будет четко указано, на какие системы налогообложения настроена касса.
Во-вторых, проверим настройки в 1С. Перейдем в раздел НСИ и администрирование — Реквизиты организации — Настройка налогов и отчетов. Нам нужно убедиться, что актуальная СНО (например, Патент или УСН) активна на текущую дату и для нужного подразделения.
В-третьих, проанализируем настройки склада. В 1С:Управление торговлей 11.4 зайдем в карточку склада, с которого оформляется продажа. Проверим, нет ли там специфических настроек, ограничивающих применение СНО. Часто ошибка возникает из-за того, что склад ошибочно считается складом для деятельности на ЕНВД или ПСН, в то время как касса настроена на УСН.
Как показывает практика, при обновлении конфигурации внутренние идентификаторы настроек могут стать некорректными. Рассмотрим эффективный прием: создание новой записи учетной политики.
Попробуем создать новую запись в регистре сведений «Настройки налогов и отчетов» с датой начала текущего месяца. Даже если параметры остаются прежними, перезапись объекта заставляет 1С обновить кэшированные данные и заново инициализировать механизмы определения СНО при формировании XML-пакета для драйвера ККТ.
Если настройки в 1С верны, а касса все равно выдает ошибку, воспользуемся советом технической поддержки 1С — проведем перерегистрацию без замены фискального накопителя. Это необходимо для «синхронизации» флагов СНО между драйвером и внутренними таблицами ККТ.
Важно: Эта процедура не требует замены ФН, если вы просто подтверждаете те же параметры.
После этого попробуем снова пробить чек в 1С. Часто этот шаг исправляет ситуацию, когда драйвер после обновления 1С «теряет» связь с индексами СНО.
Если проблема не решена, нам нужно увидеть, какую именно цифру 1С отправляет в кассу. Проанализируем лог-файл драйвера (для АТОЛ это обычно fptr10.log). Рассмотрим пример того, на что нужно обратить внимание:
В логе ищем команду LIBFPTR_PARAM_TAX_VARIANT. Если касса зарегистрирована на УСН (код 1), а в логе мы видим:
LIBFPTR_PARAM_TAX_VARIANT = 0 (что соответствует ОСН),
значит, проблема исключительно на стороне 1С, которая неправильно формирует пакет данных.
Если вы столкнулись с тем, что 1С упорно передает неверную СНО, а времени на глубокий поиск ошибки в модулях БПО нет, можно применить временное решение в коде. В модуле интеграции с оборудованием (обычно это обработки, начинающиеся на МенеджерОборудования... или ПодключаемоеОборудование...) можно найти место формирования XML-пакета чека.
Найдем строку, отвечающую за установку СНО. В некоторых случаях, если организация работает строго на одной системе налогообложения, можно закомментировать передачу этого параметра. В этом случае ККТ применит СНО «по умолчанию», которая жестко прописана в ее памяти.
Рассмотрим пример логики (псевдокод):
// В процедуре формирования XML для ККТ
// Если мы точно знаем, что у нас только одна СНО,
// можно принудительно установить ее индекс, игнорируя ошибки базы
ПараметрыЧека.СистемаНалогообложения = Перечисления.ТипыСистемНалогообложения.УпрощеннаяДоход;
Однако помните, что это крайняя мера, и правильнее будет разобраться с настройками Учетной политики и Складов.
Подведем итоги. Ошибка «ККТ не зарегистрирована с указанной СНО» в 1С:УТ 11.4 — это чаще всего следствие нарушения связи между настройками склада и параметрами регистрации кассы после обновления программного кода. Для решения проблемы мы рекомендуем следующий порядок действий:
Проделав эти шаги, мы восстановим корректную передачу данных в фискальный накопитель и обеспечим бесперебойную печать чеков.