При работе с устаревшими конфигурациями, такими как 1С:Управление торговлей 10.3, пользователи часто сталкиваются с проблемой отсутствия штатной поддержки современных требований законодательства в части применения онлайн-касс. Одной из наиболее острых проблем является корректное указание патентной системы налогообложения (ПСН) в фискальном чеке. Несмотря на то что в конфигурации присутствует соответствующее перечисление, механизмы автоматического определения СНО часто игнорируют патент, пытаясь передать в драйвер ККТ значения «ОСНО» или «ЕНВД».
В этой статье мы подробно разберем, почему возникает данная проблема и как её решить программным способом, даже если вы используете базовую версию конфигурации.
Проанализируем архитектуру решения. Конфигурация «Управление торговлей 10.3» была спроектирована задолго до массового внедрения онлайн-касс и перехода на форматы фискальных данных (ФФД) версии 1.05 и выше. В современных редакциях, таких как «Розница 2.3» или «УТ 11», система налогообложения жестко привязана к организации и складу. В УТ 10.3 механизм формирования чека опирается на обработки обслуживания торгового оборудования.
Выясним основную причину сбоя: при формировании XML-пакета, который 1С передает драйверу кассового аппарата (например, АТОЛ или Штрих-М), программа выполняет поиск актуальной СНО в настройках. Если патент не указан в логике формирования параметров чека внутри модуля, система подставляет значение по умолчанию. В итоге ККТ выдает ошибку: «Неподдерживаемая СНО» или «СНО не совпадает с настройками ККТ».
Рассмотрим наиболее эффективный способ решения задачи, предложенный опытными разработчиками. Если ваша организация работает исключительно на патенте, либо вы хотите принудительно установить ПСН для конкретной кассы, необходимо внести изменения в логику формирования структуры ПараметрыЧека.
Этот метод подходит даже для базовых версий 1С, так как изменения вносятся не в саму конфигурацию, а во внешнюю обработку обслуживания (файл с расширением .epf). Разберем по шагам, как это реализовать:
ПараметрыЧека, добавим строку кода, принудительно устанавливающую тип СНО.Посмотрим на пример реализации кода:
// Принудительная установка патентной системы налогообложения
// Используем предопределенное значение из перечисления ТипыСистемНалогообложенияККТ
ПараметрыЧека.СистемаНалогообложения = ПредопределенноеЗначение("Перечисление.ТипыСистемНалогообложенияККТ.Paten");
// Если конфигурация не позволяет напрямую обращаться к предопределенным значениям,
// можно использовать индекс или ссылку через поиск в метаданных
Проанализируем ситуацию: после добавления этой строки, какое бы значение ни пыталась передать основная конфигурация, обработка обслуживания заменит его на «Патент» непосредственно перед отправкой в драйвер. Это гарантирует, что в тег 1055 фискального документа попадет корректный код ПСН.
Важно понимать, что происходит «под капотом» взаимодействия 1С и кассового аппарата. Драйвер ККТ ожидает не текстовое название системы налогообложения, а числовой идентификатор или битовую маску. Для патентной системы налогообложения в большинстве современных драйверов зарезервированы следующие значения:
Когда мы устанавливаем Перечисление.ТипыСистемНалогообложенияККТ.Патент, встроенная библиотека подключаемого оборудования (БПО) автоматически конвертирует это значение в нужный код для драйвера. Если же вы используете очень старую обработку обслуживания, которая была написана до появления ПСН, она может просто не знать, как обработать этот тип. В таком случае рекомендуется обновить файл обработки до актуальной версии с сайта поддержки 1С.
Многие пользователи опасаются, что в базовой версии 1С невозможно ничего исправить, так как конфигурация закрыта для редактирования. Однако, как мы выяснили выше, внешние обработки обслуживания позволяют обойти это ограничение. Вы можете создать копию стандартной обработки, внести в неё необходимые правки и подключить её через меню «Сервис — Торговое оборудование — Подключение и настройка торгового оборудования».
Важный момент: Перед внесением правок убедитесь, что сама касса фискализирована с поддержкой патента. Если при регистрации ККТ в налоговой инспекции галочка «Патент» не была проставлена в настройках самого аппарата, никакие программные изменения в 1С не помогут — касса будет отклонять чек на физическом уровне.
После внесения изменений необходимо удостовериться, что данные корректно уходят в налоговую. Проанализируем способы проверки:
FiscalizeReceipt.Рассмотрим ситуацию, если у вас совмещение систем налогообложения (например, УСН и Патент). В этом случае УТ 10.3 в стандартном виде работать не сможет, так как один документ «Чек ККМ» не может быть разделен на две разные СНО автоматически. Вам придется либо использовать разные склады для разных товаров, либо приобретать сторонние расширения, которые позволяют делить корзину товаров на несколько чеков с разными настройками налогообложения.
Подводя итог, можно сказать, что хотя 1С:УТ 10.3 официально считается устаревающей, её гибкость в работе с внешними обработками позволяет поддерживать актуальные требования законодательства. Простая правка одной строки кода в параметрах чека решает проблему с ПСН и позволяет избежать дорогостоящего перехода на новые программные продукты.