При обновлении конфигурации 1С:Управление торговлей 11.4 (особенно на релизах ветки 11.4.9.х) пользователи часто сталкиваются с проблемой некорректной печати системы налогообложения (СНО) на чеках ККТ. Типичная ситуация: организация переходит с ЕНВД на УСН, настройки в программе изменены, касса перерегистрирована, но при пробитии чека через Рабочее место кассира (РМК) либо продолжает печататься старая СНО, либо возникает критическая ошибка: «ККТ не зарегистрирована с указанным СНО». Рассмотрим подробно, почему это происходит и как исправить ситуацию пошагово.
Первым делом проанализируем механику работы 1С с фискальным регистратором. Согласно формату фискальных данных (ФФД), система налогообложения является обязательным реквизитом чека (Тег 1055). Если касса при фискализации была настроена на работу с несколькими СНО (например, ЕНВД и УСН Доход), то драйвер ККТ ожидает от учетной системы четкого указания кода СНО для каждой позиции или всего чека. Если же касса зарегистрирована только под одну СНО, а 1С пытается передать в XML-пакете другую — возникает ошибка программирования реквизита.
В релизах 11.4.9.х компания 1С внесла изменения в Библиотеку подключаемого оборудования (БПО). Теперь алгоритм определения СНО стал более многоуровневым, и настройки только в карточке организации часто оказывается недостаточно.
Разберем важный нюанс: в 1С:Управление торговлей СНО может определяться не только организацией, но и складом, с которого осуществляется продажа. Это необходимо для корректного разделения учета, когда часть складов находится на общей системе, а часть — на спецрежимах.
Проанализируем настройки склада:
Рассмотрим ситуацию, когда в карточке организации уже стоит «УСН Доход», но чеки все равно не бьются. Проблема часто кроется в истории учетной политики. Программа может «подхватывать» старые записи, если даты пересекаются или новая политика введена некорректно.
Выполним следующие действия:
Выясним, не задана ли СНО по умолчанию в самих настройках драйвера в 1С. Иногда это перекрывает программные алгоритмы.
Проанализируем функционал распределения продаж, который может быть включен в настройках системы. Если в базе ведется торговля по разным системам налогообложения, 1С использует специальный механизм правил.
Если настройки кажутся верными, но ошибка сохраняется, рассмотрим способ «увидеть проблему глазами драйвера». Нам нужно понять, какой именно цифровой код СНО 1С отправляет на кассу.
Включим лог драйвера (например, для АТОЛ 10 это делается в утилите «Тест драйвера ККТ» в разделе «Логи»). В лог-файле ищем команду LIBFPTR_PARAM_TAX_VARIANT. Значения обычно соответствуют:
Если в логе вы видите TAX_VARIANT = 3, значит 1С все еще передает ЕНВД, и проблему нужно искать в коде или глубоких настройках базы.
В релизе 11.4.9.91 был замечен баг, при котором система некорректно считывает актуальную запись из регистра налогообложения при использовании РМК. Если типовые настройки не помогают, проанализируем ситуацию в конфигураторе.
Проблема может локализоваться в общем модуле МенеджерОборудованияВызовСервера (или аналогичных модулях БПО, отвечающих за формирование XML чека). Система при получении СНО может брать первую запись из таблицы, не учитывая дату актуальности. Рассмотрим пример логики исправления (схематично):
// В методе формирования структуры чека проверим, как получается СНО
// Было:
СистемаНалогообложения = ПараметрыОрганизации.СНО;
// Стало (утрированно):
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1 СНО ИЗ РегистрСведений.УчетнаяПолитикамиОрганизаций
|ГДЕ Организация = &Организация И Период <= &ТекущаяДата
|УПОРЯДОЧИТЬ ПО Период УБЫВ";
// ... установка параметров и выполнение
Чаще всего автору вопроса на форуме приходилось править логику в функции, которая собирает данные для тега 1055, принудительно указывая нужный индекс СНО, если типовой механизм «зависает» на старых данных ЕНВД.
Если вы столкнулись с ошибкой СНО, пройдите по пунктам:
Следуя этой инструкции, вы сможете синхронизировать работу 1С и кассового оборудования, обеспечив корректную печать чеков в соответствии с законодательством.