Разбор от сообщества: Новое в «1С:ERP» 2.5.27: существенные изменения по налоговом | infolimp.ru

Разбор от сообщества: Новое в «1С:ERP» 2.5.27: существенные изменения по налоговом

30 июля 2026 · infolimp.ru

Релиз «1С:ERP» 2.5.27 формально посвящён налоговым изменениям, но под капотом скрывается несколько архитектурных сдвигов, которые на первый взгляд выглядят как рядовые доработки. Мы разобрали патч с пристрастием и нашли три ловушки, о которых молчат справки и новости на Infostart. Первая — изменение логики расчёта НДС с авансов при частичной отгрузке. Вторая — новый механизм контроля лимитов задолженности, который ломает старые интеграции с казначейством. Третья — недокументированное поведение регистров накопления при перепроведении документов «Расчеты с контрагентами».

1. НДС с авансов: неочевидный сдвиг в алгоритме «Косвенного зачёта»

В версии 2.5.27 изменился порядок расчёта НДС при частичной отгрузке под аванс. Раньше система брала сумму аванса и пропорционально делила её на отгруженную и неотгруженную части. Теперь — приоритет отдаётся документу отгрузки, и аванс «закрывается» только в пределах стоимости отгруженного товара, а остаток аванса остаётся в статусе «незакрытый» без пересчёта.

Ключевой тезис: Если у вас настроен автоматический зачёт авансов по договору, после обновления до 2.5.27 может возникнуть ситуация, когда НДС с аванса будет начислен дважды — при получении аванса и при отгрузке, если сумма отгрузки меньше аванса. Это не баг, а новое требование ФНС к порядку восстановления НДС.

Как это выглядит в коде

В обработке проведения документа «Реализация товаров и услуг» появился новый блок, который проверяет остаток аванса по регистру РасчетыПоАвансам:

Процедура ОбработкаПроведения(Отказ, РежимПроведения)
    // Новый блок с версии 2.5.27
    Если РежимПроведения = РежимПроведенияДокумента.Оперативный Тогда
        Запрос = Новый Запрос;
        Запрос.Текст = 
        "ВЫБРАТЬ
        |   РасчетыПоАвансамОстатки.СуммаОстаток КАК СуммаАванса,
        |   РасчетыПоАвансамОстатки.Договор КАК Договор
        |ИЗ
        |   РегистрНакопления.РасчетыПоАвансам.Остатки(,
        |       Документ.РеализацияТоваровУслуг.Ссылка.Дата) КАК РасчетыПоАвансамОстатки
        |ГДЕ
        |   РасчетыПоАвансамОстатки.Договор = &Договор
        |   И РасчетыПоАвансамОстатки.Контрагент = &Контрагент";
        
        Результат = Запрос.Выполнить();
        Выборка = Результат.Выбрать();
        Пока Выборка.Следующий() Цикл
            Если Выборка.СуммаАванса > СуммаДокумента Тогда
                // НДС начисляется на всю сумму документа, 
                // остаток аванса остаётся в регистре
                // Раньше здесь был пересчёт пропорции
            КонецЕсли;
        КонецЦикла;
    КонецЕсли;
КонецПроцедуры

2. Контроль лимитов задолженности: новый регистр и сломанные интеграции

В релизе появился регистр сведений ЛимитыЗадолженностиКонтрагентов. Он не виден в интерфейсе, но активно используется подсистемой «Казначейство». Если у вас настроен обмен с банком через прямые интеграции (например, через HTTP-сервисы), после обновления все заявки на расходование средств будут проверяться на соответствие этому лимиту. При превышении — документ не проводится, хотя визуально ошибка не выводится.

Типичная ошибка

Разработчики часто пытаются найти новый реквизит в документе «Заявка на расходование средств» — его там нет. Лимит хранится в отдельном регистре и проверяется в обработке ПриЗаписи через вызов общей функции ПроверитьЛимитЗадолженности.

Предупреждение: Если вы используете внешние обработки для создания заявок на оплату через COM-соединение или HTTP-сервисы, обязательно добавьте вызов проверки лимита. Иначе заявка будет записана, но при проведении — тихо отклонена без сообщения пользователю. Проверьте логи регистрации после обновления.

Что делать прямо сейчас

  1. Откройте конфигурацию в режиме «Конфигуратор» и найдите регистр сведений ЛимитыЗадолженностиКонтрагентов.
  2. Проверьте, какие измерения и ресурсы у него заданы. По умолчанию: Контрагент, Договор, Валюта, СуммаЛимита.
  3. Добавьте в свои внешние обработки заполнение этого регистра перед записью заявки:
Процедура ЗаполнитьЛимитПередЗаписьюЗаявки(Заявка, Контрагент, Договор, СуммаЛимита)
    МенеджерЗаписи = РегистрыСведений.ЛимитыЗадолженностиКонтрагентов.СоздатьМенеджерЗаписи();
    МенеджерЗаписи.Контрагент = Контрагент;
    МенеджерЗаписи.Договор = Договор;
    МенеджерЗаписи.Валюта = Заявка.ВалютаВзаиморасчетов;
    МенеджерЗаписи.СуммаЛимита = СуммаЛимита;
    МенеджерЗаписи.Записать();
КонецПроцедуры

3. Перепроведение «Расчетов с контрагентами»: недокументированное поведение регистров

При перепроведении документов «Расчеты с контрагентами» (например, после изменения ставки НДС) в версии 2.5.27 изменился порядок записи движений в регистр РасчетыСКонтрагентами. Раньше система сначала удаляла старые движения, потом записывала новые. Теперь — сначала записываются новые движения, потом удаляются старые. Это приводит к временному задвоению остатков, которое может «поймать» отчёт «Ведомость по взаиморасчетам», если он формируется в момент перепроведения.

Технический разбор

В модуле менеджера документа появился новый обработчик ПередУдалениемДвижений, который переносит удаление на конец транзакции:

Процедура ПередУдалениемДвижений(Отказ, РежимПроведения)
    // Новый код 2.5.27 — откладываем удаление
    Если РежимПроведения = РежимПроведенияДокумента.Оперативный Тогда
        // Запоминаем старые движения во временной таблице
        Запрос = Новый Запрос;
        Запрос.Текст = 
        "ВЫБРАТЬ
        |   Движения.Сумма,
        |   Движения.Период
        |ПОМЕСТИТЬ ВТ_СтарыеДвижения
        |ИЗ
        |   РегистрНакопления.РасчетыСКонтрагентами КАК Движения
        |ГДЕ
        |   Движения.Регистратор = &ТекущийДокумент";
        Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
        Запрос.Выполнить();
    КонецЕсли;
КонецПроцедуры

Практический совет: Если вы используете пакетное перепроведение документов (например, через обработку «Групповая обработка справочников и документов»), добавьте в неё принудительную паузу между перепроведением каждого документа — хотя бы 1-2 секунды. Это даст системе время завершить транзакцию и избежать задвоения в отчётах.

Чек-лист: что проверить после обновления до 2.5.27

Типичные ошибки при обновлении

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

Резюме

Релиз 2.5.27 — не просто «налоговый патч». Это смена логики работы с авансами, появление скрытого контроля лимитов и изменение транзакционной модели регистров. Если вы пропустите эти три точки, рискуете получить расхождения в налоговой отчётности и сбои в казначействе. Обновляйтесь осознанно и проверяйте интеграции до перехода в рабочую систему.

Расширение «НОПик» для 1С — встраиваемый коннектор к внешнему AI с интеллектуальным поиском по базе. Задавайте вопросы обычными словами - AI сам найдёт нужное. 45 дней бесплатно.

Попробовать НОПик →