Почему не печатается корректировочный счет-фактура в УТ 11 при изменении только суммы и как это исправить

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

В процессе работы с конфигурацией «1С:Управление торговлей», редакция 11.4 (а также в аналогичных версиях КА и ERP), пользователи часто сталкиваются с ситуацией, когда после оформления документа Корректировка реализации не удается распечатать корректировочный счет-фактуру или универсальный корректировочный документ (УКД). Проблема проявляется специфическим образом: если в корректировке изменено количество товара, печатная форма формируется без проблем. Однако, если количество осталось прежним, а изменилась только цена или общая сумма, кнопки печати либо не реагируют, либо выводят пустой бланк.

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

Разберем ситуацию: почему возникает ошибка

Проанализируем стандартный алгоритм работы системы. При создании документа Счет-фактура выданный (корректировка) на основании Корректировки реализации, программа должна собрать данные о расхождениях «до» и «после» изменения. Эти данные записываются в скрытую табличную часть документа Счет-фактура выданный, которая называется Товары. Именно из этой таблицы данные попадают в печатные формы УКД и счета-фактуры.

Выясним причину сбоя: в определенных релизах (в частности, ветки 11.4.13 и 11.4.14) разработчиками была допущена логическая ошибка. При заполнении данных для печати система проверяет разницу между исходным и новым состоянием строки. Основным критерием «значимости» изменения в коде выступала проверка изменения поля Количество. Если количество не изменилось, система ошибочно полагала, что корректировать нечего, и оставляла табличную часть счета-фактуры пустой, игнорируя изменения в цене, сумме и НДС.

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

Рассмотрим два вида корректировки

Важно понимать разницу в логике формирования документов в зависимости от выбранного Вида операции в Корректировке реализации:

  1. Исправление ошибок: В этом случае формируется «Исправительный счет-фактура» (ИСФ). В печатную форму должны выводиться все показатели строки, даже те, что не менялись, но с учетом исправленных значений.
  2. Корректировка по согласованию сторон: Здесь формируется именно «Корректировочный счет-фактура» (КСФ), где отображаются строки «А» (до изменения) и «Б» (после изменения).

В обоих случаях при программном сбое в типовом коде строки не попадают в итоговую выборку для печати, если дельта по количеству равна нулю.

Способ 1: Временное решение (Workaround) для пользователя

Если проблему нужно решить «здесь и сейчас» без привлечения программиста, можно воспользоваться небольшим техническим приемом. Разберем его по шагам:

  1. Откройте документ Корректировка реализации.
  2. В строке, где изменилась только сумма, временно измените количество на любое другое (например, увеличьте на 1 единицу).
  3. Проведите документ.
  4. Зайдите в связанный Счет-фактура выданный. Система увидит изменение количества и заполнит свою внутреннюю таблицу Товары.
  5. Вернитесь в Корректировку реализации и установите корректное (исходное) количество, сохранив при этом новую (нужную) сумму.
  6. Снова проведите документы. В ряде случаев данные в счете-фактуре сохранятся, что позволит сформировать печатную форму.

Важное предостережение: этот метод крайне ненадежен. При любом последующем пересчете или автоматическом обновлении документа система может снова «вычистить» пустые с ее точки зрения строки из счета-фактуры.

Способ 2: Техническое исправление через расширение (для программиста)

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

Как правило, проблема находится в процедурах модуля менеджера документа СчетФактураВыданный или в общих модулях, отвечающих за печать (например, ПечатьСчетовФактур). Процедура, ответственная за сбор данных, часто содержит условие пропуска строк:


// Пример ошибочной логики в типовом коде
Если Строка.КоличествоДо = Строка.КоличествоПосле Тогда
    Продолжить; // Система пропускает строку, считая, что изменений нет
КонецЕсли;

Нам необходимо расширить это условие, чтобы система учитывала изменения стоимости. Посмотрим на пример правильной проверки:


// Правильная проверка изменений
Если Строка.КоличествоДо = Строка.КоличествоПосле 
    И Строка.ЦенаДо = Строка.ЦенаПосле 
    И Строка.СуммаДо = Строка.СуммаПосле 
    И Строка.СтавкаНДСДо = Строка.СтавкаНДСПосле Тогда
    
    Продолжить; // Действительно нет изменений
КонецЕсли;

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

Посмотрим на пример реализации логики:

  1. Создайте новое расширение.
  2. Найдите метод, отвечающий за заполнение ТЧ Товары в счете-фактуре на основании Корректировки реализации.
  3. Добавьте проверку: если СуммаДо <> СуммаПосле, строка обязательна к включению в документ, даже если КоличествоДо = КоличествоПосле.
  4. Проверьте, что в печатную форму корректно передаются данные налоговой базы (графы 5 и 8 в корректировочном счете-фактуре).

Резюме

Ситуация, при которой корректировочный счет-фактура не печатается при изменении только цены, является классической программной ошибкой в логике «пустой выборки». Система 1С игнорирует строки с нулевой разницей в количестве. Для стабильной работы бухгалтерии в версиях 11.4 рекомендуется либо обновить конфигурацию до актуального релиза (где эта ошибка исправлена разработчиками 1С), либо внедрить небольшое исправление через расширение, которое добавит проверку стоимостных показателей в алгоритм формирования документа.

Помните: правильное формирование УКД крайне важно для налогового учета, так как отсутствие корректной печатной формы может привести к отказу в вычете НДС или претензиям со стороны проверяющих органов при оформлении возвратов или изменении условий сделки.

← На главную