Как добавить новую ставку НДС 22% в 1С:Управление холдингом 3.1?

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

Добавление новой ставки НДС в «древнюю» базу 1С:Управление холдингом 3.1 (УХ) — это комплексная задача, которая выходит далеко за рамки простого добавления нового значения в список. Поскольку УХ 3.1 базируется на ядре 1С:Бухгалтерия КОРП, она имеет ряд архитектурных особенностей, связанных с грядущими изменениями налогового законодательства и введением ставки 22%, которые мы разберем в этой статье.

Анализ метаданных и изменение структуры

Первым делом проанализируем, как хранятся ставки НДС в вашей конфигурации. В отличие от современных редакций ERP, в УХ 3.1 ставки НДС чаще всего реализованы через Перечисление.СтавкиНДС, а не через справочник. Это создает первую серьезную трудность: добавление нового значения в перечисление инициирует реструктуризацию всех таблиц, где используется этот тип (а это почти все документы закупки, продажи и регистры бухгалтерии). На больших базах этот процесс может занять значительное время, поэтому операцию следует планировать на периоды минимальной активности.

Рассмотрим необходимые действия:

  1. Добавим в Перечисление.СтавкиНДС новое значение — НДС22.
  2. Добавим соответствующее значение расчетной ставки — НДС22_122.
  3. Обновим общие модули, отвечающие за получение числовых значений ставок. На этом этапе полезно использовать инструменты автоматизированного анализа конфигурации, чтобы убедиться в отсутствии ошибок в экспортных процедурах и функциях.

Поиск и устранение «хардкода» в коде

Проанализируем программный код на предмет жестко прописанных констант. Опытные разработчики знают, что в старых конфигурациях часто встречаются расчеты «на лету». Нам необходимо выполнить глобальный поиск по всей конфигурации, включая расширения и внешние обработки, по следующим паттернам:

Посмотрим на пример функции, которую необходимо внедрить или доработать для корректного определения ставки в зависимости от даты документа:


Функция ПолучитьАктуальнуюСтавкуНДС(АктуальнаяДата) Экспорт
    Если АктуальнаяДата < '20190101' Тогда
        Возврат ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС18");
    ИначеЕсли АктуальнаяДата < '20260101' Тогда
        Возврат ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС20");
    Иначе
        Возврат ПредопределенноеЗначение("Перечисление.СтавкиНДС.НДС22");
    КонецЕсли;
КонецФункции

Особенности подсистемы бюджетирования

В «1С:Управление холдингом» значительная часть логики может быть вынесена в режим предприятия. Проанализируем настройки бюджетов. В справочниках Показатели бюджетов и Произвольные формулы часто встречаются зашитые коэффициенты 1.2 или 0.2. Глобальный поиск по конфигуратору их не найдет.

Рекомендация: необходимо проверить все активные бланки и экземпляры отчетов, где используется расчет НДС. Возможно, потребуется создать новые версии показателей для бюджетных циклов 2026 года, чтобы не испортить расчеты прошлых периодов.

Интеграция через 1С:Шина и EnterpriseData

Разберем ситуацию с обменами. Если база интегрирована через 1С:Шина или использует формат EnterpriseData, простого добавления ставки в текущую базу недостаточно. При передаче данных в другие системы (например, в БП 3.0 или ЗУП) возникнут следующие проблемы:

  1. XDTO-пакеты: Стандартные версии формата EnterpriseData (например, 1.15) могут не поддерживать ставку 22%. Потребуется расширение пакета XDTO в обеих базах (источнике и приемнике).
  2. Версионность: Если база-приемник не обновлена и не знает о ставке 22%, обмен будет падать с ошибкой валидации XML. При обмене с устаревшими конфигурациями (например, если в контуре осталась УТ 10.3), могут потребоваться доработанные правила конвертации для корректной передачи НДС 22% в БП 3.0.

В этом случае придется либо дорабатывать правила конвертации, либо использовать «заглушки» в расширениях для подмены ставки на лету при выгрузке/загрузке.

Переходный период: авансы и возвраты

Выясним причину, почему задача считается трудоемкой. Самое сложное — это логика переходного периода. Рассмотрим два сценария:

  1. Зачет аванса: Если аванс получен в 2025 году по ставке 20%, а отгрузка происходит в 2026 году по ставке 22%, система должна корректно зачесть НДС с аванса по старой ставке.
  2. Возвраты товаров: При возврате товара в 2026 году, отгруженного в 2025-м, должна применяться ставка 20%. Кроме того, важно учитывать, что с 2026 года вступают в силу новые формы УПД и счетов-фактур с дополнительными реквизитами для ИП.

Для решения этих задач необходимо проверить все запросы в документах ФормированиеЗаписейКнигиПокупок и КнигиПродаж, а для оперативного контроля за правильностью ввода данных стоит использовать отчет для поиска ошибок заполнения ставок НДС в переходный период.

Итоги и оценка работ

Подводя итог, можно сказать, что чистая разработка (добавление перечисления и правка кода) может занять от 20 до 40 часов. Однако тестирование всех цепочек (Казначейство -> Бюджетирование -> Интеграция -> Печатные формы) в такой сложной конфигурации, как УХ, может потребовать до 160 рабочих часов. Рекомендуем выполнять работы поэтапно: сначала обследование и аудит формул в режиме предприятия, затем кодирование и длительный период тестирования на копии базы. Если в вашем ландшафте используются старые торговые системы, не забудьте заранее подготовить комплект доработок и правил обмена для УТ 10.

← На главную