При переходе на патентную систему налогообложения (ПСН) многие пользователи сталкиваются с тем, что кассовый аппарат продолжает печатать в чеках старый режим налогообложения (чаще всего ЕНВД), несмотря на проведенную перерегистрацию самой кассы. Давайте разберемся, почему это происходит и как программно исправить ситуацию в конфигурации 1С 7.7.
Основная причина кроется в архитектуре взаимодействия 1С с фискальным регистратором через драйвер. Даже если в настройках драйвера ККТ вы установили СНО «по умолчанию», внешняя обработка 1С при формировании пакета данных (XML) для отправки на печать может принудительно передавать жестко заданный параметр системы налогообложения. Если в коде 1С этот параметр прописан как константа, он будет иметь приоритет над настройками самого устройства.
Для корректной работы с 54-ФЗ необходимо передавать параметр TaxVariant в составе XML-пакета, который формирует обработка обслуживания. Согласно спецификации драйверов Атол, для каждого режима налогообложения предусмотрен свой числовой код:
В вашем случае в коде обработки, отвечающей за формирование XML, скорее всего, параметр TaxVariant жестко установлен в значение 3 (ЕНВД), что и приводит к неверной печати в чеке.
Для исправления ситуации необходимо выполнить следующие действия:
XMLParameters.TaxVariant, замените значение с «3» на «5».Пример корректного формирования части XML-пакета:
XMLParameters = XMLCheckPackage.СоздатьПодчиненныйЭлемент("Parameters");
Атрибут(XMLParameters, "PaymentType", ТипРасчета);
// Устанавливаем 5 для Патента вместо жесткого 3
Атрибут(XMLParameters, "TaxVariant", 5);
Если вы хотите, чтобы система налогообложения выбиралась динамически, не рекомендуется «зашивать» цифру 5 напрямую в код. Рассмотрим, как правильно прокинуть переменную через параметры вызова:
ПУП (или СистемаНалогообложения).глФРПечататьЧек) в процедуру формирования XML.Пример внесения изменений в процедуру:
Функция ПечататьЧек(Объект, Пароль, СписокТоваров, СуммаЧека, ..., СистемаНалогообложения)
// ... логика формирования XML
Атрибут(XMLParameters, "TaxVariant", СистемаНалогообложения);
// ... остальной код
КонецФункции
После внесения изменений в код, обязательно выполните следующие действия:
СистемаНалогообложения передается корректно из документа продажи.TaxVariant передается в момент пробития чека.Применяя этот подход, вы сможете динамически управлять режимами налогообложения, если ваше предприятие совмещает несколько систем или переходит с одной на другую.