База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как сохранить ставку НДС при изменении даты в реализации УТ 11.4.6.188? › Ответ в теме: Как сохранить ставку НДС при изменении даты в реализации УТ 11.4.6.188?
В УТ 11.4.6.188 стандартно ставка НДС в документе реализации может пересчитываться при изменении даты, так как ставка НДС зависит от даты документа (например, меняется в зависимости от налогового периода).
Если нет возможности передать ставку из заявки, и нужно, чтобы при изменении даты в документе реализации ставка НДС не менялась, а сохранялась изначальная, то можно доработать обработчик события «ПриЗаписи» или «ПриИзменении» документа реализации следующим образом:
1. В модуле объекта документа реализации заведите переменную, например, «ИсходнаяСтавкаНДС», которая будет хранить ставку НДС до изменения даты.
2. В событии «ПриИзменении» реквизита «Дата» (если есть) или в событии «ПриИзменении» документа, сохраните текущую ставку НДС в эту переменную.
3. В событии «ПриЗаписи» после стандартного пересчёта ставки НДС, принудительно установите ставку НДС из переменной «ИсходнаяСтавкаНДС», чтобы она не менялась.
Примерный код (в модуле объекта документа реализации):
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Перем ИсходнаяСтавкаНДС; Процедура ПриИзменении(ИмяРеквизита) Если ИмяРеквизита = "Дата" Тогда // Сохраняем текущую ставку НДС перед изменением даты ИсходнаяСтавкаНДС = ЭтотОбъект.СтавкаНДС; КонецЕсли; КонецПроцедуры Процедура ПриЗаписи(Отказ, РежимЗаписи, РежимПроведения) // Вызов стандартной логики записи (если есть) // ... // После стандартного пересчёта ставки НДС принудительно восстанавливаем исходную Если ЗначениеЗаполнено(ИсходнаяСтавкаНДС) Тогда ЭтотОбъект.СтавкаНДС = ИсходнаяСтавкаНДС; КонецЕсли; КонецПроцедуры |
Если событие «ПриИзменении» реквизита «Дата» не доступно, можно в «ПриЗаписи» сравнивать текущую дату с датой, сохранённой в дополнительном реквизите или в переменной, и если дата изменилась, то восстанавливать ставку НДС.
Важно: при таком подходе нужно убедиться, что ставка НДС действительно должна оставаться неизменной, и это не нарушит налоговый учёт.
Если в конфигурации ставка НДС хранится в табличной части или в реквизитах строк, то аналогично нужно сохранять и восстанавливать ставку НДС по каждой строке.
Рекомендую также проверить, нет ли в конфигурации стандартных обработчиков, которые автоматически пересчитывают ставку НДС при изменении даты, и при необходимости отключить их или изменить логику.