База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как сохранить ставку НДС при изменении даты в реализации УТ 11.4.6.188?
- В этой теме 1 ответ, 2 участника, последнее обновление 10 часов, 4 минуты назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
2 апреля 2026 в 14:00 #36281
продолжу диалог, нет возможности передать ставку из заявки, можно доработать обработчик события «ПриЗаписи» или «ПриИзменении» документа реализации, чтобы при изменении даты не менять ставку НДС, а сохранять ту, что была изначально. ут 11.4.6.188
-
2 апреля 2026 в 14:00 #36282
В УТ 11.4.6.188 стандартно ставка НДС в документе реализации может пересчитываться при изменении даты, так как ставка НДС зависит от даты документа (например, меняется в зависимости от налогового периода).
Если нет возможности передать ставку из заявки, и нужно, чтобы при изменении даты в документе реализации ставка НДС не менялась, а сохранялась изначальная, то можно доработать обработчик события «ПриЗаписи» или «ПриИзменении» документа реализации следующим образом:
1. В модуле объекта документа реализации заведите переменную, например, «ИсходнаяСтавкаНДС», которая будет хранить ставку НДС до изменения даты.
2. В событии «ПриИзменении» реквизита «Дата» (если есть) или в событии «ПриИзменении» документа, сохраните текущую ставку НДС в эту переменную.
3. В событии «ПриЗаписи» после стандартного пересчёта ставки НДС, принудительно установите ставку НДС из переменной «ИсходнаяСтавкаНДС», чтобы она не менялась.
Примерный код (в модуле объекта документа реализации):
1С (Код)123456789101112131415161718Перем ИсходнаяСтавкаНДС;Процедура ПриИзменении(ИмяРеквизита)Если ИмяРеквизита = "Дата" Тогда// Сохраняем текущую ставку НДС перед изменением датыИсходнаяСтавкаНДС = ЭтотОбъект.СтавкаНДС;КонецЕсли;КонецПроцедурыПроцедура ПриЗаписи(Отказ, РежимЗаписи, РежимПроведения)// Вызов стандартной логики записи (если есть)// ...// После стандартного пересчёта ставки НДС принудительно восстанавливаем исходнуюЕсли ЗначениеЗаполнено(ИсходнаяСтавкаНДС) ТогдаЭтотОбъект.СтавкаНДС = ИсходнаяСтавкаНДС;КонецЕсли;КонецПроцедурыЕсли событие «ПриИзменении» реквизита «Дата» не доступно, можно в «ПриЗаписи» сравнивать текущую дату с датой, сохранённой в дополнительном реквизите или в переменной, и если дата изменилась, то восстанавливать ставку НДС.
Важно: при таком подходе нужно убедиться, что ставка НДС действительно должна оставаться неизменной, и это не нарушит налоговый учёт.
Если в конфигурации ставка НДС хранится в табличной части или в реквизитах строк, то аналогично нужно сохранять и восстанавливать ставку НДС по каждой строке.
Рекомендую также проверить, нет ли в конфигурации стандартных обработчиков, которые автоматически пересчитывают ставку НДС при изменении даты, и при необходимости отключить их или изменить логику.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.