1с8:УПП Вычет НДФЛ на третьего и более детей

1. serg-gld 19.10.21 13:56 Сейчас в теме
При расчете вычета НДФЛ на третьего и последующего детей УПП (1.3.167.1) учитывает только последнюю запись регистра "Стандартные вычеты физических лиц на детей". Т.е. для 4-х из 6-ти детей в итоге расчетчику нужно "ручками" отслеживать сроки действия вычетов. Заменил часть запроса (в 2х местах) в общем модуле "Проведение расчетов", и теперь количество детей для вычета в периоде рассчитывает корректно. Но может я что-то не знаю в логике УПП? Кто-нибудь сталкивался с такой проблемой?

Было:
...
	|ВЫБРАТЬ
	|	ДатыРегистра.ФизЛицо КАК ФизЛицо,
	|	ДатыРегистра.МесяцНалоговогоПериода,
	|	ДатыРегистра.НачалоГодаНалоговогоПериода,
	|	ЕСТЬNULL(ДатыРегистра.КодВычета, ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка)) КАК КодВычета,
	|	ЕСТЬNULL(ВЫБОР
	|			КОГДА ВычетыНаДетей.ПериодЗавершения <= ДатыРегистра.МесяцНалоговогоПериода
	|					И ВычетыНаДетей.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|				ТОГДА ВычетыНаДетей.КоличествоДетейЗавершения
	|			ИНАЧЕ ВычетыНаДетей.КоличествоДетей
	|		КОНЕЦ, 0) КАК КоличествоДетей
	|ПОМЕСТИТЬ ВТПраваНаВычетыНаДетей
	|ИЗ
	|	(ВЫБРАТЬ
	|		Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
	|		Периоды.ФизЛицо КАК ФизЛицо,
	|		ВычетыНаДетей.КодВычета КАК КодВычета,
	|		МАКСИМУМ(ВычетыНаДетей.Период) КАК ПериодРегистра,
	|		Периоды.НачалоГодаНалоговогоПериода КАК НачалоГодаНалоговогоПериода
	|	ИЗ
	|		ВТПериодыНалогаНаДоходы КАК Периоды
	|			ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛСтандартныеВычетыНаДетей КАК ВычетыНаДетей
	|			ПО Периоды.МесяцНалоговогоПериода >= ВычетыНаДетей.Период
	|				И Периоды.ФизЛицо = ВычетыНаДетей.Физлицо
	|	
	|	СГРУППИРОВАТЬ ПО
	|		Периоды.ФизЛицо,
	|		ВычетыНаДетей.КодВычета,
	|		Периоды.МесяцНалоговогоПериода,
	|		Периоды.НачалоГодаНалоговогоПериода) КАК ДатыРегистра
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛСтандартныеВычетыНаДетей КАК ВычетыНаДетей
	|		ПО ДатыРегистра.ПериодРегистра = ВычетыНаДетей.Период
	|			И ДатыРегистра.ФизЛицо = ВычетыНаДетей.Физлицо
	|			И ДатыРегистра.КодВычета = ВычетыНаДетей.КодВычета
	|;
...
Показать


Стало:
...
	|ВЫБРАТЬ
	|	ДатыРегистра.ФизЛицо КАК ФизЛицо,
	|	ДатыРегистра.МесяцНалоговогоПериода,
	|	ДатыРегистра.НачалоГодаНалоговогоПериода,
	|	ЕСТЬNULL(ДатыРегистра.КодВычета, ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка)) КАК КодВычета,
	|	СУММА(ЕСТЬNULL(ВЫБОР
	|				КОГДА ВычетыНаДетей.ПериодЗавершения <= ДатыРегистра.МесяцНалоговогоПериода
	|						И ВычетыНаДетей.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
	|					ТОГДА ВычетыНаДетей.КоличествоДетейЗавершения
	|				ИНАЧЕ ВычетыНаДетей.КоличествоДетей
	|			КОНЕЦ, 0)) КАК КоличествоДетей
	|ПОМЕСТИТЬ ВТПраваНаВычетыНаДетей
	|ИЗ
	|	(ВЫБРАТЬ
	|		Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
	|		Периоды.ФизЛицо КАК ФизЛицо,
	|		ВычетыНаДетей.КодВычета КАК КодВычета,
	|		ВычетыНаДетей.Период КАК ПериодРегистра,
	|		Периоды.НачалоГодаНалоговогоПериода КАК НачалоГодаНалоговогоПериода
	|	ИЗ
	|		ВТПериодыНалогаНаДоходы КАК Периоды
	|			ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛСтандартныеВычетыНаДетей КАК ВычетыНаДетей
	|			ПО Периоды.МесяцНалоговогоПериода >= ВычетыНаДетей.Период
	|				И Периоды.ФизЛицо = ВычетыНаДетей.Физлицо) КАК ДатыРегистра
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛСтандартныеВычетыНаДетей КАК ВычетыНаДетей
	|		ПО ДатыРегистра.ФизЛицо = ВычетыНаДетей.Физлицо
	|			И ДатыРегистра.КодВычета = ВычетыНаДетей.КодВычета
	|			И ДатыРегистра.ПериодРегистра = ВычетыНаДетей.Период
	|
	|СГРУППИРОВАТЬ ПО
	|	ДатыРегистра.ФизЛицо,
	|	ДатыРегистра.МесяцНалоговогоПериода,
	|	ДатыРегистра.НачалоГодаНалоговогоПериода,
	|	ЕСТЬNULL(ДатыРегистра.КодВычета, ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка))
	|;

...
Показать
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. homer_ 78 19.10.21 14:12 Сейчас в теме
Покажи как ты ввел вычеты по всем детям
3. serg-gld 19.10.21 15:56 Сейчас в теме
(2)
Покажи как ты ввел вычеты по всем детям
Прикрепленные файлы:
4. homer_ 78 19.10.21 16:23 Сейчас в теме
(3) не правильно введено. вид расчета 128/116 должен быть один за период и в нем ставишь 4 детей, далее новый период там 3 детей. В итоги периоды у одного вида расчета не должны пресекается
5. serg-gld 19.10.21 16:57 Сейчас в теме
(4)
не правильно введено

Спасибо за ответ. Изначально так и делали, пока не ошиблись с начислениями. Т.е. в итоге по логике УПП расчетчику нужно периоды в уме рассчитывать, меня при этом ранее созданные записи. Но это логически не правильно. Хорошо что больше 3-х детей редкость.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот