Почему 1С:Розница 2.3 после обновления передает в чек ставку «Без НДС» и как это исправить?

Программист 1С v8.3 (Управляемые формы) 1С:Розница Налоговый учет Торговля и дистрибуция
← На главную

После обновления конфигурации 1С:Розница 2.3 (начиная с релизов 2.3.23.хх) многие пользователи столкнулись с неприятной ситуацией: при оформлении продаж через «Новое РМК» в кассовый чек передается ставка «Без НДС», хотя в карточках номенклатуры и учетной политике организации верно указаны ставки 10%, 20% или новые ставки 5%, 7% и 22%. Примечательно, что в старом интерфейсе РМК проблема может не проявляться, что прямо указывает на изменения в программной логике нового интерфейса.

В рамках данной статьи мы подробно разберем причины возникновения этой ошибки и рассмотрим несколько способов её решения: от настройки регистров сведений до внесения изменений в программный код и правила обмена данными.

Способ 1. Настройка регистра «Применение систем налогообложения»

Проанализируем работу механизмов определения налогового режима в новом РМК. В отличие от старого интерфейса, новый алгоритм более чувствителен к детализации записей в регистре сведений Применение систем налогообложения. Часто программа «теряется», если в регистре указано слишком много уточняющих записей (по складам или магазинам).

Рассмотрим шаги по приведению регистра в порядок:

  1. Перейдем в раздел Настройки — Закупки (или через «Все функции/Функции для специалиста») и найдем регистр сведений Применение систем налогообложения.
  2. Проанализируем записи. Если для одной организации создано несколько строк с уточнением по конкретным магазинам или складам, это может приводить к тому, что новый РМК не подтягивает нужную систему налогообложения (СНО) и, как следствие, сбрасывает НДС.
  3. Рекомендуемое решение: удалим все лишние записи и создадим одну общую запись, где указана только Организация и Система налогообложения. Поля «Магазин» и «Склад» оставим пустыми.
  4. Если организация перешла на уплату НДС с 2025 года, убедимся, что дата начала действия записи установлена верно (например, 01.01.2025), а старые записи, срок действия которых пересекается с новыми, удалены или корректно закрыты по дате.

Способ 2. Программная правка общих модулей (для разработчиков)

Если манипуляции с регистрами не помогли, выясним причину в программном коде. В новых релизах логика заполнения ставки НДС в РМК была вынесена в специализированные модули. Рассмотрим пример исправления, который позволяет принудительно заставить систему корректно определять НДС.

Шаг 1. Модификация заполнения ставки НДС

Нам необходимо внести изменения в общий модуль ОбщегоНазначенияРМКРТ, процедуру ЗаполнитьСтавкуНДС. Разберем логику: нам нужно убедиться, что проверка применения НДС выполняется на текущую дату сеанса для конкретной организации.


Процедура ЗаполнитьСтавкуНДС(Объект, ТекущаяСтрока, СНОПоУмолчанию, СтавкаНДС)
    ЭтоВозврат = Объект.ВидОперации = Перечисления.ВидыОперацийЧекККМ.Возврат;
    Если ЭтоВозврат Тогда
        Возврат;
    КонецЕсли;
    
    // Принудительно инициализируем ставку, если алгоритм дает сбой
    СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
    Дата = ТекущаяДатаСеанса();
    
    // Используем стандартный метод проверки применения НДС из общего модуля УчетНДС
    ПрименяетсяНДС = УчетНДС.ПрименяетсяНДС(Дата, Объект.Организация, Объект.ТорговыйОбъект);
    
    // Если НДС применяется, здесь должна быть логика выбора ставки из номенклатуры
    // ... дальнейшая логика типового кода ...
КонецПроцедуры

Шаг 2. Корректировка числового значения ставки

В общем модуле ОбщегоНазначенияРМКРТКлиентСервер в функции СтавкаНДСЧислом может отсутствовать обработка новых или специфических ставок (например, 22%). Проанализируем пример функции с добавленными условиями:


Функция СтавкаНДСЧислом(СтавкаНДС)
    Если СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС10") 
        ИЛИ СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС10_110") Тогда
        Возврат 0.1;
    ИначеЕсли СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС20") 
        ИЛИ СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС20_120") Тогда
        Возврат 0.2;
    ИначеЕсли СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС5") 
        ИЛИ СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС5_105") Тогда
        Возврат 0.05;
    ИначеЕсли СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС7") 
        ИЛИ СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС7_107") Тогда
        Возврат 0.07;
    ИначеЕсли СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС22") 
        ИЛИ СтавкаНДС = ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС22_122") Тогда
        Возврат 0.22;
    Иначе
        Возврат 0;
    КонецЕсли;
КонецФункции

Способ 3. Исправление проблем выгрузки (синхронизация с Бухгалтерией)

Часто проблема со ставками (особенно 5%, 7% или 22%) перетекает в невозможность синхронизации данных с 1С:Бухгалтерия предприятия 3.0. Обмен «затыкается», так как правила конвертации в Рознице не знают о существовании новых узлов в XML-файле обмена.

Для решения этой проблемы выполним следующие действия:

  1. Проверим наличие установленных патчей в разделе Администрирование — Обслуживание — Обновление программы — Установленные патчи. Ищем патчи, связанные с НДС и синхронизацией (например, исправления для EnterpriseData).
  2. Если автоматические патчи не помогают, необходимо вручную обновить правила конвертации объектов. В настройках синхронизации данных выберем нашу настройку, нажмем кнопку Параметры обмена данными — Загрузить правила конвертации объектов.
  3. Используйте актуальные файлы правил (EnterpriseData_1_13.xml или выше), которые поставляются с последними релизами конфигураций. Это позволит передавать новые ставки НДС без ошибок в документах Отчет о розничных продажах.

Важные замечания по ставкам 22% и работе ККТ

Разберем ситуацию со специфической ставкой 22%. На текущий момент многие ОФД и версии прошивок ККТ не до конца поддерживают отображение этой ставки в личном кабинете, даже если 1С передает её корректно. Рекомендуем:

Таким образом, мы выяснили, что проблема «Без НДС» в новом РМК 1С:Розница 2.3 чаще всего является следствием конфликта настроек СНО в регистрах или недоработок в модулях клиент-серверного взаимодействия. Своевременная очистка регистра Применение систем налогообложения и установка актуальных патчей от разработчиков «1С» решают эту проблему в большинстве случаев.

← На главную