public object ПолучитьДанныеНДФЛПоРегистратору(/*Знач ПервыйМесяцНалоговогоПериода,
Знач ПоследнийМесяцНалоговогоПериода,
ПериодРегистрации,
ОбособленноеПодразделение,
Организация,
Регистратор,
Знач СписокФизЛицТекст,
ДополнительныеПараметрыЗапроса = Неопределено,
ЭтоПерерасчет = Ложь,
КомментироватьРасчет = Ложь,
ВозвращатьДанныеРасчетовБезПодразделений = Ложь,
ДоходыРегистратораКУчету = Неопределено*/)
{
//Запрос = Новый Запрос;
//Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
//Запрос.УстановитьПараметр("Регистратор", Регистратор);
//Запрос.УстановитьПараметр("ГоловнаяОрганизация", Организация);
//Запрос.УстановитьПараметр("НачалоМесяцаРасчета",НачалоМесяца(ПериодРегистрации));
//Запрос.УстановитьПараметр("КонецМесяцаРасчета",КонецМесяца(ПериодРегистрации));
//Запрос.УстановитьПараметр("НачалоГодаРасчета",НачалоГода(ПериодРегистрации));
/*// установим дополнительные параметры
*/
if(true/*ДополнительныеПараметрыЗапроса <> Неопределено*/)
{
}
/*Запрос.Текст =
"ВЫБРАТЬ Физлицо
|ПОМЕСТИТЬ ВТСписокФизЛиц
|ИЗ (" + СписокФизЛицТекст + ") СписокФизЛиц
|ИНДЕКСИРОВАТЬ ПО Физлицо";*/
//Запрос.УстановитьПараметр("парамРегистратор", Регистратор);
//Запрос.Выполнить();
if(true/*ДоходыРегистратораКУчету = Неопределено*/)
{
/*Запрос.Текст =
"ВЫБРАТЬ
| ДАТАВРЕМЯ(1, 1, 1) КАК Период,
| ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК Организация,
| ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.ПустаяСсылка) КАК ФизЛицо,
| ЗНАЧЕНИЕ(Справочник.ДоходыНДФЛ.ПустаяСсылка) КАК КодДохода,
| ДАТАВРЕМЯ(1, 1, 1) КАК ПериодРегистрации,
| 0 КАК СуммаДохода,
| 0 КАК СуммаВычета,
| ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка) КАК КодВычета,
| ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка) КАК ОбособленноеПодразделение,
| ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка) КАК ПодразделениеОрганизации
|ПОМЕСТИТЬ ВТКорректировкаДанныхРегистратора
|ГДЕ
| ЛОЖЬ";*/
}
//Запрос.Выполнить();
if(true/*ПоследнийМесяцНалоговогоПериода = Неопределено*/)
{
/*// получим ПоследнийМесяцНалоговогоПериода
*/
/*Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| Данные.Период
|ИЗ
| (ВЫБРАТЬ
| НДФЛСведенияОДоходах.Период КАК Период
| ИЗ
| РегистрНакопления.НДФЛСведенияОДоходах КАК НДФЛСведенияОДоходах
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокФизЛиц КАК Работники
| ПО НДФЛСведенияОДоходах.ФизЛицо = Работники.ФизЛицо
| ГДЕ
| НДФЛСведенияОДоходах.Организация = &ГоловнаяОрганизация
| И НАЧАЛОПЕРИОДА(НДФЛСведенияОДоходах.ПериодРегистрации, МЕСЯЦ) = &НачалоМесяцаРасчета
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| КорректировкаДанныхРегистратора.Период
| ИЗ
| ВТКорректировкаДанныхРегистратора КАК КорректировкаДанныхРегистратора
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокФизЛиц КАК Работники
| ПО КорректировкаДанныхРегистратора.ФизЛицо = Работники.ФизЛицо
| ГДЕ
| КорректировкаДанныхРегистратора.Организация = &ГоловнаяОрганизация
| И НАЧАЛОПЕРИОДА(КорректировкаДанныхРегистратора.ПериодРегистрации, МЕСЯЦ) = &НачалоМесяцаРасчета) КАК Данные
|
|УПОРЯДОЧИТЬ ПО
| Данные.Период УБЫВ";*/
//Результат = Запрос.Выполнить();
if(true/*Результат.Пустой()*/)
{
//ПоследнийМесяцНалоговогоПериода = КонецМесяца(ПериодРегистрации);
}
}
if(true/*ПервыйМесяцНалоговогоПериода = Неопределено*/)
{
/*// получим самый ранний месяц налогового периода
*/
/*Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| Данные.Период
|ИЗ
| (ВЫБРАТЬ
| НДФЛСведенияОДоходах.Период КАК Период
| ИЗ
| РегистрНакопления.НДФЛСведенияОДоходах КАК НДФЛСведенияОДоходах
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокФизЛиц КАК Работники
| ПО (Работники.Физлицо = НДФЛСведенияОДоходах.ФизЛицо)
| ГДЕ
| НДФЛСведенияОДоходах.Организация = &ГоловнаяОрганизация
| И НАЧАЛОПЕРИОДА(НДФЛСведенияОДоходах.ПериодРегистрации, МЕСЯЦ) = &НачалоМесяцаРасчета
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| КорректировкаДанныхРегистратора.Период
| ИЗ
| ВТКорректировкаДанныхРегистратора КАК КорректировкаДанныхРегистратора
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТСписокФизЛиц КАК Работники
| ПО КорректировкаДанныхРегистратора.ФизЛицо = Работники.ФизЛицо
| ГДЕ
| КорректировкаДанныхРегистратора.Организация = &ГоловнаяОрганизация
| И НАЧАЛОПЕРИОДА(КорректировкаДанныхРегистратора.ПериодРегистрации, МЕСЯЦ) = &НачалоМесяцаРасчета) КАК Данные
|
|УПОРЯДОЧИТЬ ПО
| Данные.Период";*/
//Результат = Запрос.Выполнить();
if(true/*Результат.Пустой()*/)
{
//ПервыйМесяцНалоговогоПериода = ПериодРегистрации;
}
}
//ДатаЗакона229ФЗ = ПроведениеРасчетов.ДатаЗакона229ФЗ();
//Запрос.УстановитьПараметр("ДатаЗакона229ФЗ", ДатаЗакона229ФЗ);
//Запрос.УстановитьПараметр("КонецПериодаРасчета", КонецМесяца(ПоследнийМесяцНалоговогоПериода));
//Запрос.УстановитьПараметр("НачалоГодаПериодаРасчета", НачалоГода(ПервыйМесяцНалоговогоПериода));
//Запрос.УстановитьПараметр("КонецГодаПериодаРасчета", КонецГода(ПоследнийМесяцНалоговогоПериода));
/*// Таблица ВТДатыПоМесяцам: список дат налоговых периодов, в которых рассчитывается налог
*/
/*// Поля:
*/
/*// Период
*/
//НачМесяца = НачалоГода(ПервыйМесяцНалоговогоПериода);
//ДатыПоМесяцамТекст = "ВЫБРАТЬ ДАТАВРЕМЯ(" + Формат(НачМесяца,"ДФ=гггг,М,д,Ч,м,с") + ") КАК Период";
/*ДатыПоМесяцамТекст = ДатыПоМесяцамТекст + "
|ПОМЕСТИТЬ ВТДатыПоМесяцам";*/
while(true/*НачМесяца < НачалоМесяца(ПоследнийМесяцНалоговогоПериода)*/)
{
//НачМесяца = НачалоМесяца(КонецМесяца(НачМесяца) + 1);
/*ДатыПоМесяцамТекст = ДатыПоМесяцамТекст +"
|ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДАТАВРЕМЯ(" + Формат(НачМесяца,"ДФ=гггг,М,д,Ч,м,с") + ")";*/
}
/*;
Запрос.Текст = ДатыПоМесяцамТекст;*/
//Запрос.Выполнить();
/*// первый год
*/
//НачалоГода = НачалоГода(ПоследнийМесяцНалоговогоПериода);
//ПериодыТекстПоГодам = "ВЫБРАТЬ ДАТАВРЕМЯ(" + Формат(НачалоГода,"ДФ=гггг,М,д,Ч,м,с") + ") КАК НачалоНалоговогоПериода";
/*ПериодыТекстПоГодам = ПериодыТекстПоГодам + "
|ПОМЕСТИТЬ ВТПериодыПоГодам";*/
//Запрос.Текст = ПериодыТекстПоГодам;
//Запрос.Выполнить();
/*// Периоды
*/
/*// Таблица ВТПериоды: список периодов-физлиц по которым необходимо выполнить расчет налога
*/
/*// Поля:
*/
/*// Период
*/
/*// Физлицо
*/
if(true/*ЭтоПерерасчет*/)
{
/*Запрос.Текст =
"ВЫБРАТЬ
| Работники.Физлицо КАК Физлицо,
| Месяцы.Период КАК Период,
| НАЧАЛОПЕРИОДА(Месяцы.Период, МЕСЯЦ) КАК МесяцНалоговогоПериода,
| НАЧАЛОПЕРИОДА(Месяцы.Период, ГОД) КАК НачалоГодаНалоговогоПериода,
| КОНЕЦПЕРИОДА(Месяцы.Период, ГОД) КАК КонецГодаНалоговогоПериода
|ПОМЕСТИТЬ ВТПериодыНалогаНаДоходы
|ИЗ
| ВТСписокФизЛиц КАК Работники
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТДатыПоМесяцам КАК Месяцы
| ПО (ИСТИНА)
|
|ИНДЕКСИРОВАТЬ ПО
| Физлицо,
| Период";*/
}
//Запрос.Выполнить();
/*Запрос.Текст =
"ВЫБРАТЬ
| ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13) КАК СтавкаНалогообложения,
| 0.13 КАК Размер
|ПОМЕСТИТЬ ВТСтавкиНалогаВПроцентах
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка09),
| 0.09
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка35),
| 0.35
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка30),
| 0.3
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка15),
| 0.15
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДатыРегистра.НачалоНалоговогоПериода КАК НачалоНалоговогоПериода,
| УчетнаяПолитикаПоНДФЛ.ОсобенностиИсчисленияНДФЛ
|ПОМЕСТИТЬ ВТПолитикаПримененияВычетов
|ИЗ
| (ВЫБРАТЬ
| Периоды.НачалоНалоговогоПериода КАК НачалоНалоговогоПериода,
| МАКСИМУМ(УчетнаяПолитикаПоНДФЛ.Период) КАК ПериодРегистра
| ИЗ
| ВТПериодыПоГодам КАК Периоды
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаПоНДФЛ КАК УчетнаяПолитикаПоНДФЛ
| ПО Периоды.НачалоНалоговогоПериода >= УчетнаяПолитикаПоНДФЛ.Период
| ГДЕ
| УчетнаяПолитикаПоНДФЛ.Организация = &ГоловнаяОрганизация
|
| СГРУППИРОВАТЬ ПО
| Периоды.НачалоНалоговогоПериода) КАК ДатыРегистра
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УчетнаяПолитикаПоНДФЛ КАК УчетнаяПолитикаПоНДФЛ
| ПО ДатыРегистра.ПериодРегистра = УчетнаяПолитикаПоНДФЛ.Период
|ГДЕ
| УчетнаяПолитикаПоНДФЛ.Организация = &ГоловнаяОрганизация
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ПериодыРегистра.ФизЛицо КАК ФизЛицо,
| ПериодыРегистра.МесяцНалоговогоПериода,
| ВЫБОР
| КОГДА ЕСТЬNULL(СтатусНалогоплательщика.Статус, ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.Резидент)) <> ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.Нерезидент)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК РезидентРФ
|ПОМЕСТИТЬ ВТРезидентствоФизлицНаКонецГода
|ИЗ
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| Физлица.ФизЛицо КАК ФизЛицо,
| Физлица.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
| МАКСИМУМ(СтатусНалогоплательщика.Период) КАК Период
| ИЗ
| ВТПериодыНалогаНаДоходы КАК Физлица
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусФизЛицКакНалогоплательщиковНДФЛ КАК СтатусНалогоплательщика
| ПО Физлица.ФизЛицо = СтатусНалогоплательщика.ФизЛицо
| И (СтатусНалогоплательщика.Период <= ВЫБОР
| КОГДА Физлица.КонецГодаНалоговогоПериода > &КонецМесяцаРасчета
| ТОГДА &КонецМесяцаРасчета
| ИНАЧЕ Физлица.КонецГодаНалоговогоПериода
| КОНЕЦ)
|
| СГРУППИРОВАТЬ ПО
| Физлица.ФизЛицо,
| Физлица.МесяцНалоговогоПериода) КАК ПериодыРегистра
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусФизЛицКакНалогоплательщиковНДФЛ КАК СтатусНалогоплательщика
| ПО ПериодыРегистра.ФизЛицо = СтатусНалогоплательщика.ФизЛицо
| И ПериодыРегистра.Период = СтатусНалогоплательщика.Период
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ПериодыРегистра.ФизЛицо КАК ФизЛицо,
| ПериодыРегистра.МесяцНалоговогоПериода,
| ВЫБОР
| КОГДА ЕСТЬNULL(СтатусНалогоплательщика.Статус, ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.Резидент)) <> ЗНАЧЕНИЕ(Перечисление.СтатусыНалогоплательщиковПоНДФЛ.Нерезидент)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК РезидентРФ
|ПОМЕСТИТЬ ВТРезидентствоФизлицНаКонецМесяца
|ИЗ
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| Физлица.ФизЛицо КАК ФизЛицо,
| Физлица.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
| МАКСИМУМ(СтатусНалогоплательщика.Период) КАК Период
| ИЗ
| ВТПериодыНалогаНаДоходы КАК Физлица
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусФизЛицКакНалогоплательщиковНДФЛ КАК СтатусНалогоплательщика
| ПО Физлица.ФизЛицо = СтатусНалогоплательщика.ФизЛицо
| И (СтатусНалогоплательщика.Период <= ВЫБОР
| КОГДА Физлица.МесяцНалоговогоПериода > &КонецМесяцаРасчета
| ТОГДА &КонецМесяцаРасчета
| ИНАЧЕ Физлица.МесяцНалоговогоПериода
| КОНЕЦ)
|
| СГРУППИРОВАТЬ ПО
| Физлица.ФизЛицо,
| Физлица.МесяцНалоговогоПериода) КАК ПериодыРегистра
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СтатусФизЛицКакНалогоплательщиковНДФЛ КАК СтатусНалогоплательщика
| ПО ПериодыРегистра.ФизЛицо = СтатусНалогоплательщика.ФизЛицо
| И ПериодыРегистра.Период = СтатусНалогоплательщика.Период
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Периоды.ФизЛицо,
| Периоды.ФизЛицо.Наименование КАК Порядок,
| Периоды.МесяцНалоговогоПериода,
| Периоды.НачалоГодаНалоговогоПериода,
| Периоды.КонецГодаНалоговогоПериода,
| ВЫБОР
| КОГДА РезидентствоФизлицНаКонецГода.РезидентРФ
| ТОГДА ИСТИНА
| ИНАЧЕ РезидентствоФизлицНаКонецМесяца.РезидентРФ
| КОНЕЦ КАК Резидент
|ПОМЕСТИТЬ ВТПериодыФизлиц
|ИЗ
| ВТПериодыНалогаНаДоходы КАК Периоды
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРезидентствоФизлицНаКонецМесяца КАК РезидентствоФизлицНаКонецМесяца
| ПО Периоды.ФизЛицо = РезидентствоФизлицНаКонецМесяца.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = РезидентствоФизлицНаКонецМесяца.МесяцНалоговогоПериода
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРезидентствоФизлицНаКонецГода КАК РезидентствоФизлицНаКонецГода
| ПО Периоды.ФизЛицо = РезидентствоФизлицНаКонецГода.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = РезидентствоФизлицНаКонецГода.МесяцНалоговогоПериода
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДатыРегистра.НачалоНалоговогоПериода КАК НачалоНалоговогоПериода,
| ДатыРегистра.КодВычета КАК КодВычета,
| ЕСТЬNULL(РазмерВычетов.Размер, 0) КАК Размер,
| ЕСТЬNULL(РазмерВычетов.ОграничениеПоДоходам, 0) КАК ОграничениеПоДоходам
|ПОМЕСТИТЬ ВТРазмерыСтандартныхВычетов
|ИЗ
| (ВЫБРАТЬ
| Периоды.НачалоНалоговогоПериода КАК НачалоНалоговогоПериода,
| ВидыВычетов.Ссылка КАК КодВычета,
| МАКСИМУМ(РазмерВычетов.Период) КАК ПериодРегистра
| ИЗ
| ВТПериодыПоГодам КАК Периоды
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВычетыНДФЛ КАК ВидыВычетов
| ПО (ИСТИНА)
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛРазмерВычетов КАК РазмерВычетов
| ПО (ВидыВычетов.Ссылка = РазмерВычетов.КодВычета)
| И Периоды.НачалоНалоговогоПериода >= РазмерВычетов.Период
| ГДЕ
| ВидыВычетов.ГруппаВычета В (ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.Стандартные), ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.СтандартныеНаДетей))
|
| СГРУППИРОВАТЬ ПО
| Периоды.НачалоНалоговогоПериода,
| ВидыВычетов.Ссылка) КАК ДатыРегистра
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛРазмерВычетов КАК РазмерВычетов
| ПО ДатыРегистра.ПериодРегистра = РазмерВычетов.Период
| И ДатыРегистра.КодВычета = РазмерВычетов.КодВычета
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДатыРегистра.ФизЛицо КАК ФизЛицо,
| ДатыРегистра.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
| ВЫБОР
| КОГДА ПрименениеВычетов.Организация = &ГоловнаяОрганизация
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ПрименятьВычеты
|ПОМЕСТИТЬ ВТПрименениеСтандартныхВычетов
|ИЗ
| (ВЫБРАТЬ
| МАКСИМУМ(ПрименениеВычетов.Период) КАК ПериодСреза,
| Периоды.ФизЛицо КАК ФизЛицо,
| Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода
| ИЗ
| ВТПериодыФизлиц КАК Периоды
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛПрименениеВычетов КАК ПрименениеВычетов
| ПО Периоды.МесяцНалоговогоПериода >= ПрименениеВычетов.Период
| И Периоды.ФизЛицо = ПрименениеВычетов.Физлицо
|
| СГРУППИРОВАТЬ ПО
| Периоды.ФизЛицо,
| Периоды.МесяцНалоговогоПериода) КАК ДатыРегистра
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛПрименениеВычетов КАК ПрименениеВычетов
| ПО ДатыРегистра.ПериодСреза = ПрименениеВычетов.Период
| И ДатыРегистра.ФизЛицо = ПрименениеВычетов.Физлицо
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДатыРегистра.ФизЛицо КАК ФизЛицо,
| ДатыРегистра.МесяцНалоговогоПериода,
| ДатыРегистра.НачалоГодаНалоговогоПериода,
| ЕСТЬNULL(ДатыРегистра.КодВычета, ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка)) КАК КодВычета,
| ЕСТЬNULL(ВЫБОР
| КОГДА ВычетыНаДетей.ПериодЗавершения <= ДатыРегистра.МесяцНалоговогоПериода
| И ВычетыНаДетей.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА ВычетыНаДетей.КоличествоДетейЗавершения
| ИНАЧЕ ВычетыНаДетей.КоличествоДетей
| КОНЕЦ, 0) КАК КоличествоДетей
|ПОМЕСТИТЬ ВТПраваНаВычетыНаДетей
|ИЗ
| (ВЫБРАТЬ
| Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
| Периоды.ФизЛицо КАК ФизЛицо,
| ВычетыНаДетей.КодВычета КАК КодВычета,
| МАКСИМУМ(ВычетыНаДетей.Период) КАК ПериодРегистра,
| Периоды.НачалоГодаНалоговогоПериода КАК НачалоГодаНалоговогоПериода
| ИЗ
| ВТПериодыФизлиц КАК Периоды
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛСтандартныеВычетыНаДетей КАК ВычетыНаДетей
| ПО Периоды.МесяцНалоговогоПериода >= ВычетыНаДетей.Период
| И Периоды.ФизЛицо = ВычетыНаДетей.Физлицо
|
| СГРУППИРОВАТЬ ПО
| Периоды.ФизЛицо,
| ВычетыНаДетей.КодВычета,
| Периоды.МесяцНалоговогоПериода,
| Периоды.НачалоГодаНалоговогоПериода) КАК ДатыРегистра
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛСтандартныеВычетыНаДетей КАК ВычетыНаДетей
| ПО ДатыРегистра.ПериодРегистра = ВычетыНаДетей.Период
| И ДатыРегистра.ФизЛицо = ВычетыНаДетей.Физлицо
| И ДатыРегистра.КодВычета = ВычетыНаДетей.КодВычета
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДатыРегистра.ФизЛицо,
| ДатыРегистра.МесяцНалоговогоПериода,
| ДатыРегистра.НачалоГодаНалоговогоПериода,
| ЕСТЬNULL(ВычетыФизлиц.КодВычетаЛичный, ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка)) КАК КодВычета
|ПОМЕСТИТЬ ВТПраваНаЛичныеВычеты
|ИЗ
| (ВЫБРАТЬ
| МАКСИМУМ(ВычетыФизлиц.Период) КАК ПериодСреза,
| Периоды.ФизЛицо КАК ФизЛицо,
| Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
| Периоды.НачалоГодаНалоговогоПериода КАК НачалоГодаНалоговогоПериода
| ИЗ
| ВТПериодыФизлиц КАК Периоды
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛСтандартныеВычетыФизлиц КАК ВычетыФизлиц
| ПО Периоды.МесяцНалоговогоПериода >= ВычетыФизлиц.Период
| И Периоды.ФизЛицо = ВычетыФизлиц.Физлицо
|
| СГРУППИРОВАТЬ ПО
| Периоды.ФизЛицо,
| Периоды.МесяцНалоговогоПериода,
| Периоды.НачалоГодаНалоговогоПериода) КАК ДатыРегистра
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛСтандартныеВычетыФизлиц КАК ВычетыФизлиц
| ПО ДатыРегистра.ПериодСреза = ВычетыФизлиц.Период
| И ДатыРегистра.ФизЛицо = ВычетыФизлиц.Физлицо
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Вычеты.ФизЛицо,
| ВЫБОР
| КОГДА Вычеты.МесяцНалоговогоПериода < &ДатаЗакона229ФЗ
| ТОГДА НАЧАЛОПЕРИОДА(Вычеты.МесяцНалоговогоПериода, ГОД)
| ИНАЧЕ Вычеты.МесяцНалоговогоПериода
| КОНЕЦ КАК МесяцНалоговогоПериода,
| Вычеты.КодВычета,
| Вычеты.НалоговыйПериод,
| СУММА(Вычеты.Размер) КАК Размер
|ПОМЕСТИТЬ ВТПравоНаИмущественныеВычеты
|ИЗ
| (ВЫБРАТЬ
| Обороты.ФизЛицо КАК ФизЛицо,
| НАЧАЛОПЕРИОДА(Обороты.Период, МЕСЯЦ) КАК МесяцНалоговогоПериода,
| Обороты.КодВычетаИмущественный КАК КодВычета,
| Обороты.Год КАК НалоговыйПериод,
| Обороты.РазмерПриход КАК Размер
| ИЗ
| РегистрНакопления.НДФЛИмущественныеВычетыФизлиц.Обороты(
| &НачалоГодаПериодаРасчета,
| &КонецПериодаРасчета,
| Месяц,
| ФизЛицо В
| (ВЫБРАТЬ
| ФизЛица.ФизЛицо
| ИЗ
| ВТСписокФизЛиц КАК ФизЛица)
| И Организация = &ГоловнаяОрганизация) КАК Обороты
| ГДЕ
| Обороты.Год = ГОД(Обороты.Период)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДвиженияРегистратора.ФизЛицо,
| НАЧАЛОПЕРИОДА(ДвиженияРегистратора.Период, МЕСЯЦ),
| ДвиженияРегистратора.КодВычетаИмущественный,
| ДвиженияРегистратора.Год,
| ВЫБОР
| КОГДА ДвиженияРегистратора.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
| ТОГДА -ДвиженияРегистратора.Размер
| ИНАЧЕ 0
| КОНЕЦ
| ИЗ
| РегистрНакопления.НДФЛИмущественныеВычетыФизлиц КАК ДвиженияРегистратора
| ГДЕ
| ДвиженияРегистратора.Регистратор = &Регистратор
| И ДвиженияРегистратора.ФизЛицо В
| (ВЫБРАТЬ
| ФизЛица.ФизЛицо
| ИЗ
| ВТСписокФизЛиц КАК ФизЛица)
| И ДвиженияРегистратора.Год = ГОД(ДвиженияРегистратора.Период)) КАК Вычеты
|
|СГРУППИРОВАТЬ ПО
| Вычеты.ФизЛицо,
| ВЫБОР
| КОГДА Вычеты.МесяцНалоговогоПериода < &ДатаЗакона229ФЗ
| ТОГДА НАЧАЛОПЕРИОДА(Вычеты.МесяцНалоговогоПериода, ГОД)
| ИНАЧЕ Вычеты.МесяцНалоговогоПериода
| КОНЕЦ,
| Вычеты.КодВычета,
| Вычеты.НалоговыйПериод
|
|ИМЕЮЩИЕ
| СУММА(Вычеты.Размер) > 0
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Обороты.ФизЛицо,
| НАЧАЛОПЕРИОДА(Обороты.Период, МЕСЯЦ) КАК МесяцНалоговогоПериода,
| Обороты.КодВычета,
| Обороты.СуммаДохода КАК СуммаДоходаОборот,
| Обороты.СуммаВычета КАК СуммаВычетаОборот
|ПОМЕСТИТЬ ВТДоходыФизлиц
|ИЗ
| РегистрНакопления.НДФЛСведенияОДоходах КАК Обороты
|ГДЕ
| Обороты.Организация = &ГоловнаяОрганизация
| И Обороты.КодДохода.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка13)
| И (НЕ Обороты.КодДохода.НеОблагаетсяУНалоговогоАгента)
| И Обороты.Период МЕЖДУ &НачалоГодаПериодаРасчета И &КонецПериодаРасчета
| И Обороты.ПериодРегистрации <= &КонецМесяцаРасчета
| И Обороты.ФизЛицо В
| (ВЫБРАТЬ
| СписокСотрудников.ФизЛицо
| ИЗ
| ВТСписокФизЛиц КАК СписокСотрудников)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| КорректировкаДанныхРегистратора.ФизЛицо,
| НАЧАЛОПЕРИОДА(КорректировкаДанныхРегистратора.Период, МЕСЯЦ),
| КорректировкаДанныхРегистратора.КодВычета,
| КорректировкаДанныхРегистратора.СуммаДохода,
| КорректировкаДанныхРегистратора.СуммаВычета
|ИЗ
| ВТКорректировкаДанныхРегистратора КАК КорректировкаДанныхРегистратора
|ГДЕ
| КорректировкаДанныхРегистратора.Организация = &ГоловнаяОрганизация
| И КорректировкаДанныхРегистратора.КодДохода.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка13)
| И (НЕ КорректировкаДанныхРегистратора.КодДохода.НеОблагаетсяУНалоговогоАгента)
| И КорректировкаДанныхРегистратора.Период МЕЖДУ &НачалоГодаПериодаРасчета И &КонецПериодаРасчета
| И КорректировкаДанныхРегистратора.ПериодРегистрации <= &КонецМесяцаРасчета
| И КорректировкаДанныхРегистратора.ФизЛицо В
| (ВЫБРАТЬ
| СписокСотрудников.ФизЛицо
| ИЗ
| ВТСписокФизЛиц КАК СписокСотрудников)
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.ФизЛицо,
| НАЧАЛОПЕРИОДА(ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.МесяцНалоговогоПериода, МЕСЯЦ) КАК МесяцНалоговогоПериода,
| ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.КодВычета,
| ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.ПодразделениеОрганизации КАК Подразделение,
| СУММА(ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.ПримененныйВычет) КАК СуммаОборот
|ПОМЕСТИТЬ ВТПредоставленныеСтандартныеИСоциальныеВычеты
|ИЗ
| РегистрНакопления.НДФЛПредоставленныеСтандартныеВычетыФизЛиц КАК ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ
|ГДЕ
| ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.Организация = &ГоловнаяОрганизация
| И ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.ФизЛицо В
| (ВЫБРАТЬ
| СписокСотрудников.ФизЛицо
| ИЗ
| ВТСписокФизЛиц КАК СписокСотрудников)
| И ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.Регистратор <> &Регистратор
| И ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.МесяцНалоговогоПериода МЕЖДУ &НачалоГодаПериодаРасчета И &КонецПериодаРасчета
| И ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.Период <= &КонецМесяцаРасчета
|
|СГРУППИРОВАТЬ ПО
| ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.ФизЛицо,
| НАЧАЛОПЕРИОДА(ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.МесяцНалоговогоПериода, МЕСЯЦ),
| ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.КодВычета,
| ПредоставленныеСтандартныеИСоциальныеВычетыНДФЛ.ПодразделениеОрганизации
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДвиженияРегистратора.ФизЛицо КАК ФизЛицо,
| НАЧАЛОПЕРИОДА(ДвиженияРегистратора.Период, МЕСЯЦ) КАК МесяцНалоговогоПериода,
| ДвиженияРегистратора.КодВычетаИмущественный КАК КодВычета,
| СУММА(ДвиженияРегистратора.Размер) КАК Сумма,
| ДвиженияРегистратора.ПодразделениеОрганизации КАК Подразделение
|ПОМЕСТИТЬ ВТПредоставленоИмущественныхВычетов
|ИЗ
| РегистрНакопления.НДФЛИмущественныеВычетыФизлиц КАК ДвиженияРегистратора
|ГДЕ
| ДвиженияРегистратора.Организация = &ГоловнаяОрганизация
| И ДвиженияРегистратора.Период МЕЖДУ &НачалоГодаПериодаРасчета И &КонецПериодаРасчета
| И ДвиженияРегистратора.Регистратор <> &Регистратор
| И ДвиженияРегистратора.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)
| И ДвиженияРегистратора.ФизЛицо В
| (ВЫБРАТЬ
| ФизЛица.ФизЛицо
| ИЗ
| ВТСписокФизЛиц КАК ФизЛица)
|
|СГРУППИРОВАТЬ ПО
| ДвиженияРегистратора.ПодразделениеОрганизации,
| ДвиженияРегистратора.ФизЛицо,
| НАЧАЛОПЕРИОДА(ДвиженияРегистратора.Период, МЕСЯЦ),
| ДвиженияРегистратора.КодВычетаИмущественный
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
| Периоды.ФизЛицо КАК ФизЛицо,
| ВЫБОР
| КОГДА Периоды.Резидент
| ТОГДА ЕСТЬNULL(ПредоставленныеВычетыФизЛиц.СуммаОборот, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаОборот
|ПОМЕСТИТЬ ВТСоциальныеВычетыПомесячно
|ИЗ
| ВТПериодыФизлиц КАК Периоды
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПредоставленныеСтандартныеИСоциальныеВычеты КАК ПредоставленныеВычетыФизЛиц
| ПО Периоды.ФизЛицо = ПредоставленныеВычетыФизЛиц.ФизЛицо
| И (ПредоставленныеВычетыФизЛиц.КодВычета.ГруппаВычета = ЗНАЧЕНИЕ(Перечисление.ГруппыВычетовПоНДФЛ.Социальные))
| И Периоды.МесяцНалоговогоПериода = ПредоставленныеВычетыФизЛиц.МесяцНалоговогоПериода
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Периоды.ФизЛицо КАК ФизЛицо,
| Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
| Периоды.Резидент,
| ВЫБОР
| КОГДА Периоды.Резидент
| ТОГДА ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13)
| ИНАЧЕ ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка30)
| КОНЕЦ КАК СтавкаНалогообложенияНеРезидента,
| ЕСТЬNULL(Обороты.СуммаДоходаОборот, 0) - ВЫБОР
| КОГДА Периоды.Резидент
| ТОГДА ЕСТЬNULL(Обороты.СуммаВычетаОборот, 0)
| КОГДА Обороты.КодВычета.НеПредоставляетсяНерезидентам
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(Обороты.СуммаВычетаОборот, 0)
| КОНЕЦ КАК ДоходыБезВычетов
|ПОМЕСТИТЬ ВТДоходыСУчетомВычетовКДоходам
|ИЗ
| ВТПериодыФизлиц КАК Периоды
| ЛЕВОЕ СОЕДИНЕНИЕ ВТДоходыФизлиц КАК Обороты
| ПО Периоды.ФизЛицо = Обороты.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = Обороты.МесяцНалоговогоПериода
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
| Периоды.ФизЛицо КАК ФизЛицо,
| ЕСТЬNULL(СУММА(Доходы.ДоходыБезВычетов), 0) КАК ОблагаемыйДоход
|ПОМЕСТИТЬ ВТДоходыРезидентовПоМесяцам
|ИЗ
| ВТПериодыФизлиц КАК Периоды
| ЛЕВОЕ СОЕДИНЕНИЕ ВТДоходыСУчетомВычетовКДоходам КАК Доходы
| ПО Периоды.МесяцНалоговогоПериода = Доходы.МесяцНалоговогоПериода
| И Периоды.ФизЛицо = Доходы.ФизЛицо
| И (Доходы.Резидент)
|
|СГРУППИРОВАТЬ ПО
| Периоды.МесяцНалоговогоПериода,
| Периоды.ФизЛицо
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
| Периоды.ФизЛицо КАК ФизЛицо,
| ЕСТЬNULL(СУММА(Доходы.ДоходыБезВычетов), 0) КАК ОблагаемыйДоходЗаГод
|ПОМЕСТИТЬ ВТДоходыРезидентовНарастающимЗаГод
|ИЗ
| ВТПериодыФизлиц КАК Периоды
| ЛЕВОЕ СОЕДИНЕНИЕ ВТДоходыСУчетомВычетовКДоходам КАК Доходы
| ПО (Доходы.МесяцНалоговогоПериода МЕЖДУ Периоды.НачалоГодаНалоговогоПериода И Периоды.МесяцНалоговогоПериода)
| И Периоды.ФизЛицо = Доходы.ФизЛицо
| И (Доходы.Резидент)
|
|СГРУППИРОВАТЬ ПО
| Периоды.МесяцНалоговогоПериода,
| Периоды.ФизЛицо
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Периоды.ФизЛицо КАК ФизЛицо,
| Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
| ВычетыЛичные.КодВычета КАК КодВычетаЛичный,
| ВЫБОР
| КОГДА ПрименениеВычетов.ПрименятьВычеты
| И Периоды.Резидент
| И (ДоходыНарастающимИтогом.ОблагаемыйДоходЗаГод + ЕСТЬNULL(ДоходыСПредыдущегоМестаРаботы.Размер, 0) <= ЕСТЬNULL(РазмерВычетовЛичный.ОграничениеПоДоходам, 0)
| ИЛИ ЕСТЬNULL(РазмерВычетовЛичный.ОграничениеПоДоходам, 0) = 0)
| ТОГДА ЕСТЬNULL(РазмерВычетовЛичный.Размер, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК СтандартныеВычетыЛичные,
| ВЫБОР
| КОГДА ПрименениеВычетов.ПрименятьВычеты
| И Периоды.Резидент
| И (ДоходыНарастающимИтогом.ОблагаемыйДоходЗаГод + ЕСТЬNULL(ДоходыСПредыдущегоМестаРаботы.Размер, 0) <= РазмерВычетовНаДетей.ОграничениеПоДоходам
| ИЛИ РазмерВычетовНаДетей.ОграничениеПоДоходам = 0)
| ТОГДА ЕСТЬNULL(РазмерВычетовНаДетей.Размер, 0) * ЕСТЬNULL(ВычетыНаДетей.КоличествоДетей, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК СтандартныеВычетыДетские,
| ВЫБОР
| КОГДА ПрименениеВычетов.ПрименятьВычеты
| И Периоды.Резидент
| И (ДоходыНарастающимИтогом.ОблагаемыйДоходЗаГод + ЕСТЬNULL(ДоходыСПредыдущегоМестаРаботы.Размер, 0) <= РазмерВычетовНаДетей.ОграничениеПоДоходам
| ИЛИ РазмерВычетовНаДетей.ОграничениеПоДоходам = 0)
| ТОГДА ЕСТЬNULL(РазмерВычетовНаДетейДвойные.Размер, 0) * ЕСТЬNULL(ВычетыНаДетейДвойные.КоличествоДетей, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК СтандартныеВычетыДетскиеДвойные,
| ВЫБОР
| КОГДА ПрименениеВычетов.ПрименятьВычеты
| И Периоды.Резидент
| И (ДоходыНарастающимИтогом.ОблагаемыйДоходЗаГод + ЕСТЬNULL(ДоходыСПредыдущегоМестаРаботы.Размер, 0) <= РазмерВычетовНаДетей.ОграничениеПоДоходам
| ИЛИ РазмерВычетовНаДетей.ОграничениеПоДоходам = 0)
| ТОГДА ЕСТЬNULL(РазмерВычетовНаДетейДвойныеВторые.Размер, 0) * ЕСТЬNULL(ВычетыНаДетейДвойныеВторые.КоличествоДетей, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК СтандартныеВычетыДетскиеДвойныеВторые,
| ВЫБОР
| КОГДА ПрименениеВычетов.ПрименятьВычеты
| И Периоды.Резидент
| И (ДоходыНарастающимИтогом.ОблагаемыйДоходЗаГод + ЕСТЬNULL(ДоходыСПредыдущегоМестаРаботы.Размер, 0) <= РазмерВычетовНаДетей.ОграничениеПоДоходам
| ИЛИ РазмерВычетовНаДетей.ОграничениеПоДоходам = 0)
| ТОГДА ЕСТЬNULL(РазмерВычетовНаТретьегоРебенка.Размер, 0) * ЕСТЬNULL(ВычетыНаТретьегоРебенка.КоличествоДетей, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК СтандартныеВычетыНаТретьегоРебенка,
| ВЫБОР
| КОГДА ПрименениеВычетов.ПрименятьВычеты
| И Периоды.Резидент
| И (ДоходыНарастающимИтогом.ОблагаемыйДоходЗаГод + ЕСТЬNULL(ДоходыСПредыдущегоМестаРаботы.Размер, 0) <= РазмерВычетовНаДетей.ОграничениеПоДоходам
| ИЛИ РазмерВычетовНаДетей.ОграничениеПоДоходам = 0)
| ТОГДА ЕСТЬNULL(РазмерВычетовНаТретьегоРебенкаДвойные.Размер, 0) * ЕСТЬNULL(ВычетыНаТретьегоРебенкаДвойные.КоличествоДетей, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК СтандартныеВычетыНаТретьегоРебенкаДвойные,
| ВЫБОР
| КОГДА ПрименениеВычетов.ПрименятьВычеты
| И Периоды.Резидент
| И (ДоходыНарастающимИтогом.ОблагаемыйДоходЗаГод + ЕСТЬNULL(ДоходыСПредыдущегоМестаРаботы.Размер, 0) <= РазмерВычетовНаДетей.ОграничениеПоДоходам
| ИЛИ РазмерВычетовНаДетей.ОграничениеПоДоходам = 0)
| ТОГДА ЕСТЬNULL(РазмерВычетовНаТретьегоРебенкаДвойныеВторые.Размер, 0) * ЕСТЬNULL(ВычетыНаТретьегоРебенкаДвойныеВторые.КоличествоДетей, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК СтандартныеВычетыНаТретьегоРебенкаДвойныеВторые,
| ВЫБОР
| КОГДА ПрименениеВычетов.ПрименятьВычеты
| И Периоды.Резидент
| И (ДоходыНарастающимИтогом.ОблагаемыйДоходЗаГод + ЕСТЬNULL(ДоходыСПредыдущегоМестаРаботы.Размер, 0) <= РазмерВычетовНаДетей.ОграничениеПоДоходам
| ИЛИ РазмерВычетовНаДетей.ОграничениеПоДоходам = 0)
| ТОГДА ЕСТЬNULL(РазмерВычетовНаВторогоРебенка.Размер, 0) * ЕСТЬNULL(ВычетыНаВторогоРебенка.КоличествоДетей, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК СтандартныеВычетыНаВторогоРебенка,
| ВЫБОР
| КОГДА ПрименениеВычетов.ПрименятьВычеты
| И Периоды.Резидент
| И (ДоходыНарастающимИтогом.ОблагаемыйДоходЗаГод + ЕСТЬNULL(ДоходыСПредыдущегоМестаРаботы.Размер, 0) <= РазмерВычетовНаДетей.ОграничениеПоДоходам
| ИЛИ РазмерВычетовНаДетей.ОграничениеПоДоходам = 0)
| ТОГДА ЕСТЬNULL(РазмерВычетовНаВторогоРебенкаДвойные.Размер, 0) * ЕСТЬNULL(ВычетыНаВторогоРебенкаДвойные.КоличествоДетей, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК СтандартныеВычетыНаВторогоРебенкаДвойные,
| ВЫБОР
| КОГДА ПрименениеВычетов.ПрименятьВычеты
| И Периоды.Резидент
| И (ДоходыНарастающимИтогом.ОблагаемыйДоходЗаГод + ЕСТЬNULL(ДоходыСПредыдущегоМестаРаботы.Размер, 0) <= РазмерВычетовНаДетей.ОграничениеПоДоходам
| ИЛИ РазмерВычетовНаДетей.ОграничениеПоДоходам = 0)
| ТОГДА ЕСТЬNULL(РазмерВычетовНаВторогоРебенкаДвойныеВторые.Размер, 0) * ЕСТЬNULL(ВычетыНаВторогоРебенкаДвойныеВторые.КоличествоДетей, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК СтандартныеВычетыНаВторогоРебенкаДвойныеВторые,
| ВЫБОР
| КОГДА ПрименениеВычетов.ПрименятьВычеты
| И Периоды.Резидент
| И (ДоходыНарастающимИтогом.ОблагаемыйДоходЗаГод + ЕСТЬNULL(ДоходыСПредыдущегоМестаРаботы.Размер, 0) <= РазмерВычетовНаДетей.ОграничениеПоДоходам
| ИЛИ РазмерВычетовНаДетей.ОграничениеПоДоходам = 0)
| ТОГДА ЕСТЬNULL(РазмерВычетовНаДетейИнвалидов.Размер, 0) * ЕСТЬNULL(ВычетыНаДетейИнвалидов.КоличествоДетей, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК СтандартныеВычетыДетскиеИнвалидов,
| ВЫБОР
| КОГДА ПрименениеВычетов.ПрименятьВычеты
| И Периоды.Резидент
| И (ДоходыНарастающимИтогом.ОблагаемыйДоходЗаГод + ЕСТЬNULL(ДоходыСПредыдущегоМестаРаботы.Размер, 0) <= РазмерВычетовНаДетей.ОграничениеПоДоходам
| ИЛИ РазмерВычетовНаДетей.ОграничениеПоДоходам = 0)
| ТОГДА ЕСТЬNULL(РазмерВычетовНаДетейИнвалидовДвойные.Размер, 0) * ЕСТЬNULL(ВычетыНаДетейИнвалидовДвойные.КоличествоДетей, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК СтандартныеВычетыДетскиеИнвалидовДвойные,
| ВЫБОР
| КОГДА ПрименениеВычетов.ПрименятьВычеты
| И Периоды.Резидент
| И (ДоходыНарастающимИтогом.ОблагаемыйДоходЗаГод + ЕСТЬNULL(ДоходыСПредыдущегоМестаРаботы.Размер, 0) <= РазмерВычетовНаДетей.ОграничениеПоДоходам
| ИЛИ РазмерВычетовНаДетей.ОграничениеПоДоходам = 0)
| ТОГДА ЕСТЬNULL(РазмерВычетовНаДетейИнвалидовДвойныеВторые.Размер, 0) * ЕСТЬNULL(ВычетыНаДетейИнвалидовДвойныеВторые.КоличествоДетей, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК СтандартныеВычетыДетскиеИнвалидовДвойныеВторые,
| РазмерВычетовЛичный.ОграничениеПоДоходам КАК ОграничениеПоДоходамЛичные,
| РазмерВычетовНаДетей.ОграничениеПоДоходам КАК ОграничениеПоДоходамНаДетей
|ПОМЕСТИТЬ ВТПраваНаСтандартныеВычетыПоМесяцам
|ИЗ
| ВТПериодыФизлиц КАК Периоды
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПрименениеСтандартныхВычетов КАК ПрименениеВычетов
| ПО Периоды.ФизЛицо = ПрименениеВычетов.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = ПрименениеВычетов.МесяцНалоговогоПериода
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерыСтандартныхВычетов КАК РазмерВычетовНаДетей
| ПО (РазмерВычетовНаДетей.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код101))
| И Периоды.НачалоГодаНалоговогоПериода = РазмерВычетовНаДетей.НачалоНалоговогоПериода
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПраваНаЛичныеВычеты КАК ВычетыЛичные
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерыСтандартныхВычетов КАК РазмерВычетовЛичный
| ПО ВычетыЛичные.КодВычета = РазмерВычетовЛичный.КодВычета
| И ВычетыЛичные.НачалоГодаНалоговогоПериода = РазмерВычетовЛичный.НачалоНалоговогоПериода
| ПО Периоды.МесяцНалоговогоПериода = ВычетыЛичные.МесяцНалоговогоПериода
| И Периоды.ФизЛицо = ВычетыЛичные.ФизЛицо
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПраваНаВычетыНаДетей КАК ВычетыНаДетей
| ПО (ВычетыНаДетей.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код101))
| И Периоды.ФизЛицо = ВычетыНаДетей.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = ВычетыНаДетей.МесяцНалоговогоПериода
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПраваНаВычетыНаДетей КАК ВычетыНаДетейДвойные
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерыСтандартныхВычетов КАК РазмерВычетовНаДетейДвойные
| ПО ВычетыНаДетейДвойные.КодВычета = РазмерВычетовНаДетейДвойные.КодВычета
| И ВычетыНаДетейДвойные.НачалоГодаНалоговогоПериода = РазмерВычетовНаДетейДвойные.НачалоНалоговогоПериода
| ПО (ВычетыНаДетейДвойные.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код102))
| И Периоды.ФизЛицо = ВычетыНаДетейДвойные.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = ВычетыНаДетейДвойные.МесяцНалоговогоПериода
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПраваНаВычетыНаДетей КАК ВычетыНаДетейДвойныеВторые
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерыСтандартныхВычетов КАК РазмерВычетовНаДетейДвойныеВторые
| ПО ВычетыНаДетейДвойныеВторые.КодВычета = РазмерВычетовНаДетейДвойныеВторые.КодВычета
| И ВычетыНаДетейДвойныеВторые.НачалоГодаНалоговогоПериода = РазмерВычетовНаДетейДвойныеВторые.НачалоНалоговогоПериода
| ПО (ВычетыНаДетейДвойныеВторые.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код111))
| И Периоды.ФизЛицо = ВычетыНаДетейДвойныеВторые.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = ВычетыНаДетейДвойныеВторые.МесяцНалоговогоПериода
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПраваНаВычетыНаДетей КАК ВычетыНаТретьегоРебенка
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерыСтандартныхВычетов КАК РазмерВычетовНаТретьегоРебенка
| ПО ВычетыНаТретьегоРебенка.КодВычета = РазмерВычетовНаТретьегоРебенка.КодВычета
| И ВычетыНаТретьегоРебенка.НачалоГодаНалоговогоПериода = РазмерВычетовНаТретьегоРебенка.НачалоНалоговогоПериода
| ПО (ВычетыНаТретьегоРебенка.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код116))
| И Периоды.ФизЛицо = ВычетыНаТретьегоРебенка.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = ВычетыНаТретьегоРебенка.МесяцНалоговогоПериода
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПраваНаВычетыНаДетей КАК ВычетыНаТретьегоРебенкаДвойные
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерыСтандартныхВычетов КАК РазмерВычетовНаТретьегоРебенкаДвойные
| ПО ВычетыНаТретьегоРебенкаДвойные.КодВычета = РазмерВычетовНаТретьегоРебенкаДвойные.КодВычета
| И ВычетыНаТретьегоРебенкаДвойные.НачалоГодаНалоговогоПериода = РазмерВычетовНаТретьегоРебенкаДвойные.НачалоНалоговогоПериода
| ПО (ВычетыНаТретьегоРебенкаДвойные.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код120))
| И Периоды.ФизЛицо = ВычетыНаТретьегоРебенкаДвойные.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = ВычетыНаТретьегоРебенкаДвойные.МесяцНалоговогоПериода
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПраваНаВычетыНаДетей КАК ВычетыНаТретьегоРебенкаДвойныеВторые
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерыСтандартныхВычетов КАК РазмерВычетовНаТретьегоРебенкаДвойныеВторые
| ПО ВычетыНаТретьегоРебенкаДвойныеВторые.КодВычета = РазмерВычетовНаТретьегоРебенкаДвойныеВторые.КодВычета
| И ВычетыНаТретьегоРебенкаДвойныеВторые.НачалоГодаНалоговогоПериода = РазмерВычетовНаТретьегоРебенкаДвойныеВторые.НачалоНалоговогоПериода
| ПО (ВычетыНаТретьегоРебенкаДвойныеВторые.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код124))
| И Периоды.ФизЛицо = ВычетыНаТретьегоРебенкаДвойныеВторые.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = ВычетыНаТретьегоРебенкаДвойныеВторые.МесяцНалоговогоПериода
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПраваНаВычетыНаДетей КАК ВычетыНаВторогоРебенка
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерыСтандартныхВычетов КАК РазмерВычетовНаВторогоРебенка
| ПО ВычетыНаВторогоРебенка.КодВычета = РазмерВычетовНаВторогоРебенка.КодВычета
| И ВычетыНаВторогоРебенка.НачалоГодаНалоговогоПериода = РазмерВычетовНаВторогоРебенка.НачалоНалоговогоПериода
| ПО (ВычетыНаВторогоРебенка.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код115))
| И Периоды.ФизЛицо = ВычетыНаВторогоРебенка.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = ВычетыНаВторогоРебенка.МесяцНалоговогоПериода
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПраваНаВычетыНаДетей КАК ВычетыНаВторогоРебенкаДвойные
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерыСтандартныхВычетов КАК РазмерВычетовНаВторогоРебенкаДвойные
| ПО ВычетыНаВторогоРебенкаДвойные.КодВычета = РазмерВычетовНаВторогоРебенкаДвойные.КодВычета
| И ВычетыНаВторогоРебенкаДвойные.НачалоГодаНалоговогоПериода = РазмерВычетовНаВторогоРебенкаДвойные.НачалоНалоговогоПериода
| ПО (ВычетыНаВторогоРебенкаДвойные.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код119))
| И Периоды.ФизЛицо = ВычетыНаВторогоРебенкаДвойные.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = ВычетыНаВторогоРебенкаДвойные.МесяцНалоговогоПериода
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПраваНаВычетыНаДетей КАК ВычетыНаВторогоРебенкаДвойныеВторые
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерыСтандартныхВычетов КАК РазмерВычетовНаВторогоРебенкаДвойныеВторые
| ПО ВычетыНаВторогоРебенкаДвойныеВторые.КодВычета = РазмерВычетовНаВторогоРебенкаДвойныеВторые.КодВычета
| И ВычетыНаВторогоРебенкаДвойныеВторые.НачалоГодаНалоговогоПериода = РазмерВычетовНаВторогоРебенкаДвойныеВторые.НачалоНалоговогоПериода
| ПО (ВычетыНаВторогоРебенкаДвойныеВторые.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код123))
| И Периоды.ФизЛицо = ВычетыНаВторогоРебенкаДвойныеВторые.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = ВычетыНаВторогоРебенкаДвойныеВторые.МесяцНалоговогоПериода
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПраваНаВычетыНаДетей КАК ВычетыНаДетейИнвалидов
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерыСтандартныхВычетов КАК РазмерВычетовНаДетейИнвалидов
| ПО ВычетыНаДетейИнвалидов.КодВычета = РазмерВычетовНаДетейИнвалидов.КодВычета
| И ВычетыНаДетейИнвалидов.НачалоГодаНалоговогоПериода = РазмерВычетовНаДетейИнвалидов.НачалоНалоговогоПериода
| ПО (ВычетыНаДетейИнвалидов.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код106))
| И Периоды.ФизЛицо = ВычетыНаДетейИнвалидов.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = ВычетыНаДетейИнвалидов.МесяцНалоговогоПериода
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПраваНаВычетыНаДетей КАК ВычетыНаДетейИнвалидовДвойные
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерыСтандартныхВычетов КАК РазмерВычетовНаДетейИнвалидовДвойные
| ПО ВычетыНаДетейИнвалидовДвойные.КодВычета = РазмерВычетовНаДетейИнвалидовДвойные.КодВычета
| И ВычетыНаДетейИнвалидовДвойные.НачалоГодаНалоговогоПериода = РазмерВычетовНаДетейИнвалидовДвойные.НачалоНалоговогоПериода
| ПО (ВычетыНаДетейИнвалидовДвойные.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код107))
| И Периоды.ФизЛицо = ВычетыНаДетейИнвалидовДвойные.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = ВычетыНаДетейИнвалидовДвойные.МесяцНалоговогоПериода
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПраваНаВычетыНаДетей КАК ВычетыНаДетейИнвалидовДвойныеВторые
| ЛЕВОЕ СОЕДИНЕНИЕ ВТРазмерыСтандартныхВычетов КАК РазмерВычетовНаДетейИнвалидовДвойныеВторые
| ПО ВычетыНаДетейИнвалидовДвойныеВторые.КодВычета = РазмерВычетовНаДетейИнвалидовДвойныеВторые.КодВычета
| И ВычетыНаДетейИнвалидовДвойныеВторые.НачалоГодаНалоговогоПериода = РазмерВычетовНаДетейИнвалидовДвойныеВторые.НачалоНалоговогоПериода
| ПО (ВычетыНаДетейИнвалидовДвойныеВторые.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код113))
| И Периоды.ФизЛицо = ВычетыНаДетейИнвалидовДвойныеВторые.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = ВычетыНаДетейИнвалидовДвойныеВторые.МесяцНалоговогоПериода
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НДФЛДоходыПредыдущегоМестаРаботы КАК ДоходыСПредыдущегоМестаРаботы
| ПО Периоды.МесяцНалоговогоПериода = ДоходыСПредыдущегоМестаРаботы.МесяцНалоговогоПериода
| И Периоды.ФизЛицо = ДоходыСПредыдущегоМестаРаботы.ФизЛицо
| И (ДоходыСПредыдущегоМестаРаботы.Организация = &ГоловнаяОрганизация)
| ЛЕВОЕ СОЕДИНЕНИЕ ВТДоходыРезидентовНарастающимЗаГод КАК ДоходыНарастающимИтогом
| ПО Периоды.МесяцНалоговогоПериода = ДоходыНарастающимИтогом.МесяцНалоговогоПериода
| И Периоды.ФизЛицо = ДоходыНарастающимИтогом.ФизЛицо
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Доходы.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
| Доходы.ФизЛицо КАК ФизЛицо,
| СУММА(ВЫРАЗИТЬ(ВЫБОР
| КОГДА Доходы.Резидент
| ТОГДА 0
| ИНАЧЕ Доходы.ДоходыБезВычетов
| КОНЕЦ * СтавкиНалогаВПроцентах.Размер КАК ЧИСЛО(13, 0))) КАК НалогНерезидента
|ПОМЕСТИТЬ ВТНалогНерезидентов
|ИЗ
| ВТДоходыСУчетомВычетовКДоходам КАК Доходы
| ЛЕВОЕ СОЕДИНЕНИЕ ВТСтавкиНалогаВПроцентах КАК СтавкиНалогаВПроцентах
| ПО Доходы.СтавкаНалогообложенияНеРезидента = СтавкиНалогаВПроцентах.СтавкаНалогообложения
|
|СГРУППИРОВАТЬ ПО
| Доходы.ФизЛицо,
| Доходы.МесяцНалоговогоПериода
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Периоды.ФизЛицо КАК ФизЛицо,
| Периоды.Порядок КАК Порядок,
| Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
| Периоды.Резидент,
| ДоходыРезидентовПоМесяцам.ОблагаемыйДоход КАК ОблагаемыйДоходЗаМесяц,
| ДоходыРезидентовНарастающимЗаГод.ОблагаемыйДоходЗаГод КАК ОблагаемыйДоходНарастающимИтогом,
| СоциальныеВычеты.СуммаОборот КАК СоциальныйВычет,
| ВЫБОР
| КОГДА Периоды.Резидент
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(НалогНерезидентов.НалогНерезидента, 0)
| КОНЕЦ КАК НалогЗаМесяц,
| СтавкиНалогаВПроцентах.Размер КАК СтавкаДляРезидента,
| ПравоНаСтандартныеВычеты.КодВычетаЛичный,
| ПравоНаСтандартныеВычеты.СтандартныеВычетыЛичные,
| ПравоНаСтандартныеВычеты.СтандартныеВычетыДетские,
| ПравоНаСтандартныеВычеты.СтандартныеВычетыДетскиеДвойные,
| ПравоНаСтандартныеВычеты.СтандартныеВычетыДетскиеДвойныеВторые,
| ПравоНаСтандартныеВычеты.СтандартныеВычетыНаТретьегоРебенка,
| ПравоНаСтандартныеВычеты.СтандартныеВычетыНаТретьегоРебенкаДвойные,
| ПравоНаСтандартныеВычеты.СтандартныеВычетыНаТретьегоРебенкаДвойныеВторые,
| ПравоНаСтандартныеВычеты.СтандартныеВычетыНаВторогоРебенка,
| ПравоНаСтандартныеВычеты.СтандартныеВычетыНаВторогоРебенкаДвойные,
| ПравоНаСтандартныеВычеты.СтандартныеВычетыНаВторогоРебенкаДвойныеВторые,
| ПравоНаСтандартныеВычеты.СтандартныеВычетыДетскиеИнвалидов,
| ПравоНаСтандартныеВычеты.СтандартныеВычетыДетскиеИнвалидовДвойные,
| ПравоНаСтандартныеВычеты.СтандартныеВычетыДетскиеИнвалидовДвойныеВторые,
| ЕСТЬNULL(ПолитикаПримененияВычетов.ОсобенностиИсчисленияНДФЛ, ЗНАЧЕНИЕ(Перечисление.ОсобенностиИсчисленияНДФЛ.СтандартныеВычетыНарастающимИтогом)) КАК ОсобенностиУчетаВычетов,
| ГОД(Периоды.МесяцНалоговогоПериода) КАК НалоговыйПериод,
| ПравоНаСтандартныеВычеты.ОграничениеПоДоходамЛичные,
| ПравоНаСтандартныеВычеты.ОграничениеПоДоходамНаДетей
|ИЗ
| ВТПериодыФизлиц КАК Периоды
| ЛЕВОЕ СОЕДИНЕНИЕ ВТНалогНерезидентов КАК НалогНерезидентов
| ПО Периоды.ФизЛицо = НалогНерезидентов.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = НалогНерезидентов.МесяцНалоговогоПериода
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПраваНаСтандартныеВычетыПоМесяцам КАК ПравоНаСтандартныеВычеты
| ПО Периоды.ФизЛицо = ПравоНаСтандартныеВычеты.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = ПравоНаСтандартныеВычеты.МесяцНалоговогоПериода
| ЛЕВОЕ СОЕДИНЕНИЕ ВТДоходыРезидентовНарастающимЗаГод КАК ДоходыРезидентовНарастающимЗаГод
| ПО Периоды.ФизЛицо = ДоходыРезидентовНарастающимЗаГод.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = ДоходыРезидентовНарастающимЗаГод.МесяцНалоговогоПериода
| ЛЕВОЕ СОЕДИНЕНИЕ ВТДоходыРезидентовПоМесяцам КАК ДоходыРезидентовПоМесяцам
| ПО Периоды.ФизЛицо = ДоходыРезидентовПоМесяцам.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = ДоходыРезидентовПоМесяцам.МесяцНалоговогоПериода
| ЛЕВОЕ СОЕДИНЕНИЕ ВТСоциальныеВычетыПомесячно КАК СоциальныеВычеты
| ПО Периоды.ФизЛицо = СоциальныеВычеты.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = СоциальныеВычеты.МесяцНалоговогоПериода
| ЛЕВОЕ СОЕДИНЕНИЕ ВТСтавкиНалогаВПроцентах КАК СтавкиНалогаВПроцентах
| ПО (СтавкиНалогаВПроцентах.СтавкаНалогообложения = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавки.Ставка13))
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПолитикаПримененияВычетов КАК ПолитикаПримененияВычетов
| ПО Периоды.НачалоГодаНалоговогоПериода = ПолитикаПримененияВычетов.НачалоНалоговогоПериода
|
|УПОРЯДОЧИТЬ ПО
| Порядок,
| ФизЛицо,
| НалоговыйПериод,
| МесяцНалоговогоПериода
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Периоды.ФизЛицо КАК ФизЛицо,
| Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
| СУММА(ВЫБОР
| КОГДА ПравоНаИмущественныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код311)
| ТОГДА ПравоНаИмущественныеВычеты.Размер
| ИНАЧЕ 0
| КОНЕЦ) КАК ВычетИмущественныйРасходы,
| СУММА(ВЫБОР
| КОГДА ПравоНаИмущественныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код312)
| ТОГДА ПравоНаИмущественныеВычеты.Размер
| ИНАЧЕ 0
| КОНЕЦ) КАК ВычетИмущественныйПроцентыПоКредитам,
| СУММА(ВЫБОР
| КОГДА ПравоНаИмущественныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код318)
| ТОГДА ПравоНаИмущественныеВычеты.Размер
| ИНАЧЕ 0
| КОНЕЦ) КАК ВычетИмущественныйПроцентыПриПерекредитовании
|ИЗ
| ВТПериодыФизлиц КАК Периоды
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПравоНаИмущественныеВычеты КАК ПравоНаИмущественныеВычеты
| ПО Периоды.ФизЛицо = ПравоНаИмущественныеВычеты.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = ПравоНаИмущественныеВычеты.МесяцНалоговогоПериода
|
|СГРУППИРОВАТЬ ПО
| Периоды.ФизЛицо,
| Периоды.МесяцНалоговогоПериода
|
|УПОРЯДОЧИТЬ ПО
| ФизЛицо,
| МесяцНалоговогоПериода
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Доходы.ФизЛицо КАК ФизЛицо,
| Доходы.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
| Доходы.Подразделение КАК Подразделение,
| СУММА(Доходы.СуммаДохода) КАК СуммаДохода
|ИЗ
| (ВЫБРАТЬ
| ПериодыФизлиц.ФизЛицо КАК ФизЛицо,
| НАЧАЛОПЕРИОДА(ПериодыФизлиц.МесяцНалоговогоПериода, МЕСЯЦ) КАК МесяцНалоговогоПериода,
| СведенияОДоходахНДФЛ.ПодразделениеОрганизации КАК Подразделение,
| ЕСТЬNULL(СведенияОДоходахНДФЛ.СуммаДохода, 0) - ВЫБОР
| КОГДА ПериодыФизлиц.Резидент
| ТОГДА ЕСТЬNULL(СведенияОДоходахНДФЛ.СуммаВычета, 0)
| КОГДА СведенияОДоходахНДФЛ.КодВычета.НеПредоставляетсяНерезидентам
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(СведенияОДоходахНДФЛ.СуммаВычета, 0)
| КОНЕЦ КАК СуммаДохода
| ИЗ
| ВТПериодыФизлиц КАК ПериодыФизлиц
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.НДФЛСведенияОДоходах КАК СведенияОДоходахНДФЛ
| ПО ПериодыФизлиц.ФизЛицо = СведенияОДоходахНДФЛ.ФизЛицо
| И (ПериодыФизлиц.МесяцНалоговогоПериода = НАЧАЛОПЕРИОДА(СведенияОДоходахНДФЛ.Период, МЕСЯЦ))
| И (СведенияОДоходахНДФЛ.Организация = &ГоловнаяОрганизация)
| И (СведенияОДоходахНДФЛ.КодДохода.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка13))
| И ((НЕ СведенияОДоходахНДФЛ.КодДохода.НеОблагаетсяУНалоговогоАгента))
| И (СведенияОДоходахНДФЛ.ПериодРегистрации <= &КонецМесяцаРасчета)
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ПериодыФизлиц.ФизЛицо,
| НАЧАЛОПЕРИОДА(ПериодыФизлиц.МесяцНалоговогоПериода, МЕСЯЦ),
| КорректировкаДанныхРегистратора.ПодразделениеОрганизации,
| ЕСТЬNULL(КорректировкаДанныхРегистратора.СуммаДохода, 0) - ВЫБОР
| КОГДА ПериодыФизлиц.Резидент
| ТОГДА ЕСТЬNULL(КорректировкаДанныхРегистратора.СуммаВычета, 0)
| КОГДА КорректировкаДанныхРегистратора.КодВычета.НеПредоставляетсяНерезидентам
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(КорректировкаДанныхРегистратора.СуммаВычета, 0)
| КОНЕЦ
| ИЗ
| ВТПериодыФизлиц КАК ПериодыФизлиц
| ЛЕВОЕ СОЕДИНЕНИЕ ВТКорректировкаДанныхРегистратора КАК КорректировкаДанныхРегистратора
| ПО ПериодыФизлиц.ФизЛицо = КорректировкаДанныхРегистратора.ФизЛицо
| И (ПериодыФизлиц.МесяцНалоговогоПериода = НАЧАЛОПЕРИОДА(КорректировкаДанныхРегистратора.Период, МЕСЯЦ))
| И (КорректировкаДанныхРегистратора.Организация = &ГоловнаяОрганизация)
| И (КорректировкаДанныхРегистратора.КодДохода.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка13))
| И ((НЕ КорректировкаДанныхРегистратора.КодДохода.НеОблагаетсяУНалоговогоАгента))
| И (КорректировкаДанныхРегистратора.ПериодРегистрации <= &КонецМесяцаРасчета)) КАК Доходы
|
|СГРУППИРОВАТЬ ПО
| Доходы.ФизЛицо,
| Доходы.МесяцНалоговогоПериода,
| Доходы.Подразделение
|
|УПОРЯДОЧИТЬ ПО
| ФизЛицо,
| МесяцНалоговогоПериода,
| Подразделение
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ФизЛицо КАК ФизЛицо,
| НАЧАЛОПЕРИОДА(РасчетыНалогоплательщиковСБюджетомПоНДФЛ.МесяцНалоговогоПериода, МЕСЯЦ) КАК МесяцНалоговогоПериода,
| РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ПодразделениеОрганизации КАК Подразделение,
| -СУММА(РасчетыНалогоплательщиковСБюджетомПоНДФЛ.Налог) КАК Налог
|ИЗ
| РегистрНакопления.НДФЛРасчетыСБюджетом КАК РасчетыНалогоплательщиковСБюджетомПоНДФЛ
|ГДЕ
| РасчетыНалогоплательщиковСБюджетомПоНДФЛ.Регистратор <> &Регистратор
| И РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ВидСтроки = ЗНАЧЕНИЕ(Перечисление.НДФЛРасчетыСБюджетомВидСтроки.Начисление)
| И РасчетыНалогоплательщиковСБюджетомПоНДФЛ.МесяцНалоговогоПериода МЕЖДУ &НачалоГодаПериодаРасчета И &КонецПериодаРасчета
| И РасчетыНалогоплательщиковСБюджетомПоНДФЛ.СтавкаНалогообложенияРезидента = ЗНАЧЕНИЕ(Перечисление.НДФЛСтавкиНалогообложенияРезидента.Ставка13)
| И РасчетыНалогоплательщиковСБюджетомПоНДФЛ.Организация = &ГоловнаяОрганизация
| И РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ФизЛицо В
| (ВЫБРАТЬ
| СписокСотрудников.ФизЛицо
| ИЗ
| ВТСписокФизЛиц КАК СписокСотрудников)
| И РасчетыНалогоплательщиковСБюджетомПоНДФЛ.Период <= &КонецМесяцаРасчета
|
|СГРУППИРОВАТЬ ПО
| РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ПодразделениеОрганизации,
| РасчетыНалогоплательщиковСБюджетомПоНДФЛ.ФизЛицо,
| РасчетыНалогоплательщиковСБюджетомПоНДФЛ.МесяцНалоговогоПериода
|
|УПОРЯДОЧИТЬ ПО
| ФизЛицо,
| МесяцНалоговогоПериода,
| Подразделение
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| НДФЛПредоставленныеСтандартныеВычеты.ФизЛицо КАК ФизЛицо,
| НДФЛПредоставленныеСтандартныеВычеты.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
| НДФЛПредоставленныеСтандартныеВычеты.Подразделение КАК Подразделение,
| МАКСИМУМ(ВЫБОР
| КОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета В (ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код103), ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код104), ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код105))
| ТОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета
| ИНАЧЕ ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.ПустаяСсылка)
| КОНЕЦ) КАК КодВычетаЛичный,
| СУММА(ВЫБОР
| КОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета В (ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код103), ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код104), ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код105))
| ТОГДА -НДФЛПредоставленныеСтандартныеВычеты.СуммаОборот
| ИНАЧЕ 0
| КОНЕЦ) КАК ПримененныйВычетЛичный,
| СУММА(ВЫБОР
| КОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код101)
| ТОГДА -НДФЛПредоставленныеСтандартныеВычеты.СуммаОборот
| ИНАЧЕ 0
| КОНЕЦ) КАК ПримененныйВычетНаДетей,
| СУММА(ВЫБОР
| КОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код102)
| ТОГДА -НДФЛПредоставленныеСтандартныеВычеты.СуммаОборот
| ИНАЧЕ 0
| КОНЕЦ) КАК ПримененныйВычетНаДетейДвойной,
| СУММА(ВЫБОР
| КОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код111)
| ТОГДА -НДФЛПредоставленныеСтандартныеВычеты.СуммаОборот
| ИНАЧЕ 0
| КОНЕЦ) КАК ПримененныйВычетНаДетейДвойнойВторой,
| СУММА(ВЫБОР
| КОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код116)
| ТОГДА -НДФЛПредоставленныеСтандартныеВычеты.СуммаОборот
| ИНАЧЕ 0
| КОНЕЦ) КАК ПримененныйВычетНаТретьегоРебенка,
| СУММА(ВЫБОР
| КОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код120)
| ТОГДА -НДФЛПредоставленныеСтандартныеВычеты.СуммаОборот
| ИНАЧЕ 0
| КОНЕЦ) КАК ПримененныйВычетНаТретьегоРебенкаДвойной,
| СУММА(ВЫБОР
| КОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код124)
| ТОГДА -НДФЛПредоставленныеСтандартныеВычеты.СуммаОборот
| ИНАЧЕ 0
| КОНЕЦ) КАК ПримененныйВычетНаТретьегоРебенкаДвойнойВторой,
| СУММА(ВЫБОР
| КОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код115)
| ТОГДА -НДФЛПредоставленныеСтандартныеВычеты.СуммаОборот
| ИНАЧЕ 0
| КОНЕЦ) КАК ПримененныйВычетНаВторогоРебенка,
| СУММА(ВЫБОР
| КОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код119)
| ТОГДА -НДФЛПредоставленныеСтандартныеВычеты.СуммаОборот
| ИНАЧЕ 0
| КОНЕЦ) КАК ПримененныйВычетНаВторогоРебенкаДвойной,
| СУММА(ВЫБОР
| КОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код123)
| ТОГДА -НДФЛПредоставленныеСтандартныеВычеты.СуммаОборот
| ИНАЧЕ 0
| КОНЕЦ) КАК ПримененныйВычетНаВторогоРебенкаДвойнойВторой,
| СУММА(ВЫБОР
| КОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код106)
| ТОГДА -НДФЛПредоставленныеСтандартныеВычеты.СуммаОборот
| ИНАЧЕ 0
| КОНЕЦ) КАК ПримененныйВычетНаДетейИнвалидов,
| СУММА(ВЫБОР
| КОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код107)
| ТОГДА -НДФЛПредоставленныеСтандартныеВычеты.СуммаОборот
| ИНАЧЕ 0
| КОНЕЦ) КАК ПримененныйВычетНаДетейИнвалидовДвойной,
| СУММА(ВЫБОР
| КОГДА НДФЛПредоставленныеСтандартныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код113)
| ТОГДА -НДФЛПредоставленныеСтандартныеВычеты.СуммаОборот
| ИНАЧЕ 0
| КОНЕЦ) КАК ПримененныйВычетНаДетейИнвалидовДвойнойВторой
|ИЗ
| ВТПредоставленныеСтандартныеИСоциальныеВычеты КАК НДФЛПредоставленныеСтандартныеВычеты
|
|СГРУППИРОВАТЬ ПО
| НДФЛПредоставленныеСтандартныеВычеты.Подразделение,
| НДФЛПредоставленныеСтандартныеВычеты.МесяцНалоговогоПериода,
| НДФЛПредоставленныеСтандартныеВычеты.ФизЛицо
|
|УПОРЯДОЧИТЬ ПО
| ФизЛицо,
| МесяцНалоговогоПериода,
| Подразделение
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Периоды.ФизЛицо КАК ФизЛицо,
| Периоды.МесяцНалоговогоПериода КАК МесяцНалоговогоПериода,
| ИмущественныеВычеты.Подразделение КАК Подразделение,
| СУММА(ВЫБОР
| КОГДА ИмущественныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код311)
| ТОГДА -ИмущественныеВычеты.Сумма
| ИНАЧЕ 0
| КОНЕЦ) КАК ПримененныйВычетИмущественныйРасход,
| СУММА(ВЫБОР
| КОГДА ИмущественныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код312)
| ТОГДА -ИмущественныеВычеты.Сумма
| ИНАЧЕ 0
| КОНЕЦ) КАК ПримененныйВычетИмущественныйПроцентыПоКредитам,
| СУММА(ВЫБОР
| КОГДА ИмущественныеВычеты.КодВычета = ЗНАЧЕНИЕ(Справочник.ВычетыНДФЛ.Код318)
| ТОГДА -ИмущественныеВычеты.Сумма
| ИНАЧЕ 0
| КОНЕЦ) КАК ПримененныйВычетИмущественныйПроцентыПриПерекредитовании
|ИЗ
| ВТПериодыФизлиц КАК Периоды
| ЛЕВОЕ СОЕДИНЕНИЕ ВТПредоставленоИмущественныхВычетов КАК ИмущественныеВычеты
| ПО Периоды.ФизЛицо = ИмущественныеВычеты.ФизЛицо
| И Периоды.МесяцНалоговогоПериода = ИмущественныеВычеты.МесяцНалоговогоПериода
|ГДЕ
| ИмущественныеВычеты.Подразделение ЕСТЬ НЕ NULL
|
|СГРУППИРОВАТЬ ПО
| ИмущественныеВычеты.Подразделение,
| Периоды.МесяцНалоговогоПериода,
| Периоды.ФизЛицо
|
|УПОРЯДОЧИТЬ ПО
| ФизЛицо,
| МесяцНалоговогоПериода,
| Подразделение";*/
//Результат = Запрос.ВыполнитьПакет();
//ВсегоРезультатов = Результат.Количество();
//ВыборкаРасчетов = Результат[ВсегоРезультатов - 6].Выбрать();
//ПравоНаИмущественныеВычеты = Результат[ВсегоРезультатов - 5].Выгрузить();
//ПравоНаИмущественныеВычеты.Индексы.Добавить("ФизЛицо, МесяцНалоговогоПериода");
//РаспределениеДоходовПоПодразделениям = Результат[ВсегоРезультатов - 4].Выгрузить();
//РаспределениеДоходовПоПодразделениям.Индексы.Добавить("ФизЛицо, МесяцНалоговогоПериода");
//ИсчисленоРанее = Результат[ВсегоРезультатов - 3].Выгрузить();
//СтандартныхВычетовРанее = Результат[ВсегоРезультатов - 2].Выгрузить();
//ИмущественныхВычетовРанее = Результат[ВсегоРезультатов - 1].Выгрузить();
//РаспределятьПоПодразделениям = Не ВозвращатьДанныеРасчетовБезПодразделений;
//ТипНалог = Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(13,0));
//ТипВычет = Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(15,2));
//РезультатыРасчетов = СтандартныхВычетовРанее.СкопироватьКолонки();
//РезультатыРасчетов.Колонки.Добавить("Налог",ТипНалог);
//РезультатыРасчетов.Колонки.Добавить("ПримененныйВычетИмущественныйРасход",ТипВычет);
//РезультатыРасчетов.Колонки.Добавить("ПримененныйВычетИмущественныйПроцентыПоКредитам",ТипВычет);
//РезультатыРасчетов.Колонки.Добавить("ПримененныйВычетИмущественныйПроцентыПриПерекредитовании",ТипВычет);
if(true/*ВозвращатьДанныеРасчетовБезПодразделений*/)
{
//РезультатыРасчетов.Колонки.Добавить("Резидент", Новый ОписаниеТипов("Булево"));
//РезультатыРасчетов.Колонки.Добавить("ОблагаемыйДоходНарастающимИтогом",ТипВычет);
//РезультатыРасчетов.Колонки.Добавить("ОграничениеПоДоходамЛичные",ТипВычет);
//РезультатыРасчетов.Колонки.Добавить("ОграничениеПоДоходамНаДетей",ТипВычет);
//РезультатыРасчетов.Колонки.Добавить("ВычетЛичныйЗаМесяц",ТипВычет);
//РезультатыРасчетов.Колонки.Добавить("ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц",ТипВычет);
//РезультатыРасчетов.Колонки.Добавить("ВычетНаДетейИнвалидовДвойнойЗаМесяц",ТипВычет);
//РезультатыРасчетов.Колонки.Добавить("ВычетНаДетейИнвалидовЗаМесяц",ТипВычет);
//РезультатыРасчетов.Колонки.Добавить("ВычетНаДетейДвойнойВторойЗаМесяц",ТипВычет);
//РезультатыРасчетов.Колонки.Добавить("ВычетНаДетейДвойнойЗаМесяц",ТипВычет);
//РезультатыРасчетов.Колонки.Добавить("ВычетНаДетейЗаМесяц",ТипВычет);
//РезультатыРасчетов.Колонки.Добавить("ВычетНаТретьегоРебенкаДвойнойВторойЗаМесяц",ТипВычет);
//РезультатыРасчетов.Колонки.Добавить("ВычетНаТретьегоРебенкаДвойнойЗаМесяц",ТипВычет);
//РезультатыРасчетов.Колонки.Добавить("ВычетНаТретьегоРебенкаЗаМесяц",ТипВычет);
//РезультатыРасчетов.Колонки.Добавить("ВычетНаВторогоРебенкаДвойнойВторойЗаМесяц",ТипВычет);
//РезультатыРасчетов.Колонки.Добавить("ВычетНаВторогоРебенкаДвойнойЗаМесяц",ТипВычет);
//РезультатыРасчетов.Колонки.Добавить("ВычетНаВторогоРебенкаЗаМесяц",ТипВычет);
//РезультатыРасчетов.Колонки.Добавить("ВычетИмущественныйРасходыОстаток",ТипВычет);
//РезультатыРасчетов.Колонки.Добавить("ВычетИмущественныйПроцентыПриПерекредитованииОстаток",ТипВычет);
//РезультатыРасчетов.Колонки.Добавить("ВычетИмущественныйПроцентыПоКредитамОстаток",ТипВычет);
//РезультатыРасчетов.Колонки.Добавить("НалогЗаМесяц",ТипВычет);
}
if(true/*РаспределятьПоПодразделениям*/)
{
//ВспомогательнаяТаблица = РезультатыРасчетов.СкопироватьКолонки();
/*СтрокаРесурсов = "Налог,ПримененныйВычетЛичный" +
",ПримененныйВычетНаДетей,ПримененныйВычетНаДетейДвойной,ПримененныйВычетНаДетейДвойнойВторой" +
",ПримененныйВычетНаТретьегоРебенка,ПримененныйВычетНаТретьегоРебенкаДвойной,ПримененныйВычетНаТретьегоРебенкаДвойнойВторой" +
",ПримененныйВычетНаВторогоРебенка,ПримененныйВычетНаВторогоРебенкаДвойной,ПримененныйВычетНаВторогоРебенкаДвойнойВторой" +
",ПримененныйВычетНаДетейИнвалидов,ПримененныйВычетНаДетейИнвалидовДвойной,ПримененныйВычетНаДетейИнвалидовДвойнойВторой,ПримененныйВычетИмущественныйРасход,ПримененныйВычетИмущественныйПроцентыПоКредитам,ПримененныйВычетИмущественныйПроцентыПриПерекредитовании";*/
//МассивРесурсов = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(СтрокаРесурсов);
}
if(true/*КомментироватьРасчет*/)
{
//КомментарийНДФЛ = ОбщегоНазначенияЗК.КомментарийРасчета("Расчет НДФЛ");
}
//СтруктураПоиска = Новый Структура("ФизЛицо, МесяцНалоговогоПериода");
while(true/*ВыборкаРасчетов.СледующийПоЗначениюПоля("Порядок")*/)
{
while(true/*ВыборкаРасчетов.СледующийПоЗначениюПоля("ФизЛицо")*/)
{
if(true/*РаспределятьПоПодразделениям*/)
{
//СтруктураПоиска.ФизЛицо = ВыборкаРасчетов.ФизЛицо;
//СтруктураПоиска.МесяцНалоговогоПериода = НачалоМесяца(ПериодРегистрации);
//ДоходыМесяцаРасчета = РаспределениеДоходовПоПодразделениям.НайтиСтроки(СтруктураПоиска);
//КоэффициентыПодразделенийМесяцаРасчета = ВыделитьКоэффициентыРаспределенияИзКоллекцииСтрок(ДоходыМесяцаРасчета, "СуммаДохода");
}
while(true/*ВыборкаРасчетов.СледующийПоЗначениюПоля("НалоговыйПериод")*/)
{
//ВычетЛичныйОстаток = 0;
//ВычетНаДетейОстаток = 0;
//ВычетНаДетейДвойнойОстаток = 0;
//ВычетНаДетейДвойнойВторойОстаток = 0;
//ВычетНаТретьегоРебенкаОстаток = 0;
//ВычетНаТретьегоРебенкаДвойнойОстаток = 0;
//ВычетНаТретьегоРебенкаДвойнойВторойОстаток = 0;
//ВычетНаВторогоРебенкаОстаток = 0;
//ВычетНаВторогоРебенкаДвойнойОстаток = 0;
//ВычетНаВторогоРебенкаДвойнойВторойОстаток = 0;
//ВычетНаДетейИнвалидовОстаток = 0;
//ВычетНаДетейИнвалидовДвойнойОстаток = 0;
//ВычетНаДетейИнвалидовДвойнойВторойОстаток = 0;
//ВычетИмущественныйРасходыОстаток = 0;
//ВычетИмущественныйПроцентыПоКредитамОстаток = 0;
//ВычетИмущественныйПроцентыПриПерекредитованииОстаток = 0;
//ВычетСоциальныйОстаток = 0;
//ОблагаемыйДоход = 0;
//ДоходЗаМесяцОстаток = 0;
//НалогИсчисленный = 0;
while(true/*ВыборкаРасчетов.Следующий()*/)
{
//ЗаполнитьЗначенияСвойств(СтруктураПоиска,ВыборкаРасчетов);
if(true/*РаспределятьПоПодразделениям*/)
{
//ВспомогательнаяТаблица.Очистить();
//Доходы = РаспределениеДоходовПоПодразделениям.НайтиСтроки(СтруктураПоиска);
//БазаРаспределения = 0;
if(true/*БазаРаспределения = 0*/)
{
/*// если доходов за прошлый месяц нет - будем использовать текущее распределение
*/
//Доходы = ДоходыМесяцаРасчета;
//КоэффициентыПодразделений = КоэффициентыПодразделенийМесяцаРасчета;
}
//ВписатьВРезультатЗарегистрированныеВУчетеДанныеНДФЛ(ВспомогательнаяТаблица, ИсчисленоРанее.НайтиСтроки(СтруктураПоиска), "Налог");
/*ВписатьВРезультатЗарегистрированныеВУчетеДанныеНДФЛ(ВспомогательнаяТаблица, СтандартныхВычетовРанее.НайтиСтроки(СтруктураПоиска), "ПримененныйВычетЛичный" +
",ПримененныйВычетНаДетей,ПримененныйВычетНаДетейДвойной,ПримененныйВычетНаДетейДвойнойВторой" +
",ПримененныйВычетНаТретьегоРебенка,ПримененныйВычетНаТретьегоРебенкаДвойной,ПримененныйВычетНаТретьегоРебенкаДвойнойВторой" +
",ПримененныйВычетНаВторогоРебенка,ПримененныйВычетНаВторогоРебенкаДвойной,ПримененныйВычетНаВторогоРебенкаДвойнойВторой" +
",ПримененныйВычетНаДетейИнвалидов,ПримененныйВычетНаДетейИнвалидовДвойной,ПримененныйВычетНаДетейИнвалидовДвойнойВторой");*/
//ВписатьВРезультатЗарегистрированныеВУчетеДанныеНДФЛ(ВспомогательнаяТаблица, ИмущественныхВычетовРанее.НайтиСтроки(СтруктураПоиска), "ПримененныйВычетИмущественныйРасход,ПримененныйВычетИмущественныйПроцентыПоКредитам,ПримененныйВычетИмущественныйПроцентыПриПерекредитовании");
}
if(true/*КомментироватьРасчет*/)
{
//КомментарийМесяца = ОбщегоНазначенияЗК.КомментарийРасчета("Расчет за " + Формат(ВыборкаРасчетов.МесяцНалоговогоПериода, "ДФ=ММММ"), КомментарийНДФЛ);
if(true/*ВыборкаРасчетов.Резидент*/)
{
//ОбщегоНазначенияЗК.КомментарийРасчета("Статус: резидент РФ (или высококвалифицированный иностранный специалист)", КомментарийМесяца);
//ОбщегоНазначенияЗК.КомментарийРасчета("Доход за период, всего: " + ВыборкаРасчетов.ОблагаемыйДоходЗаМесяц, КомментарийМесяца,,,, Ложь);
}
}
if(true/*ВыборкаРасчетов.Резидент*/)
{
if(true/*КомментироватьРасчет*/)
{
//ОбщегоНазначенияЗК.КомментарийРасчета("Облагаемый доход нарастающим итогом за год: " + ВыборкаРасчетов.ОблагаемыйДоходНарастающимИтогом, КомментарийМесяца);
}
/*// Расчет сумм примененных вычетов и налога
*/
//ВычетСоциальныйЗаМесяц = 0;
//ВычетЛичныйЗаМесяц = 0;
//ВычетНаДетейЗаМесяц = 0;
//ВычетНаДетейДвойнойЗаМесяц = 0;
//ВычетНаДетейДвойнойВторойЗаМесяц = 0;
//ВычетНаТретьегоРебенкаЗаМесяц = 0;
//ВычетНаТретьегоРебенкаДвойнойЗаМесяц = 0;
//ВычетНаТретьегоРебенкаДвойнойВторойЗаМесяц = 0;
//ВычетНаВторогоРебенкаЗаМесяц = 0;
//ВычетНаВторогоРебенкаДвойнойЗаМесяц = 0;
//ВычетНаВторогоРебенкаДвойнойВторойЗаМесяц = 0;
//ВычетНаДетейИнвалидовЗаМесяц = 0;
//ВычетНаДетейИнвалидовДвойнойЗаМесяц = 0;
//ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц = 0;
//ВычетИмущественныйРасходыЗаМесяц = 0;
//ВычетИмущественныйПроцентыПоКредитамЗаМесяц = 0;
//ВычетИмущественныйПроцентыПриПерекредитованииЗаМесяц = 0;
//ВычетСоциальныйОстаток = ВычетСоциальныйОстаток + ВыборкаРасчетов.СоциальныйВычет;
//СтрокиПравНаИмущественныеВычеты = ПравоНаИмущественныеВычеты.НайтиСтроки(СтруктураПоиска);
if(true/*СтрокиПравНаИмущественныеВычеты.Количество() > 0*/)
{
//ВычетИмущественныйРасходыОстаток = ВычетИмущественныйРасходыОстаток + СтрокиПравНаИмущественныеВычеты[0].ВычетИмущественныйРасходы;
//ВычетИмущественныйПроцентыПоКредитамОстаток = ВычетИмущественныйПроцентыПоКредитамОстаток + СтрокиПравНаИмущественныеВычеты[0].ВычетИмущественныйПроцентыПоКредитам;
//ВычетИмущественныйПроцентыПриПерекредитованииОстаток = ВычетИмущественныйПроцентыПриПерекредитованииОстаток + СтрокиПравНаИмущественныеВычеты[0].ВычетИмущественныйПроцентыПриПерекредитовании;
}
if(true/*ВыборкаРасчетов.ОсобенностиУчетаВычетов = Перечисления.ОсобенностиИсчисленияНДФЛ.СтандартныеВычетыНарастающимИтогом*/)
{
//ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток + ВыборкаРасчетов.ОблагаемыйДоходЗаМесяц;
//ВычетЛичныйОстаток = ВычетЛичныйОстаток + ВыборкаРасчетов.СтандартныеВычетыЛичные;
//ВычетНаДетейОстаток = ВычетНаДетейОстаток + ВыборкаРасчетов.СтандартныеВычетыДетские;
//ВычетНаДетейДвойнойОстаток = ВычетНаДетейДвойнойОстаток + ВыборкаРасчетов.СтандартныеВычетыДетскиеДвойные;
//ВычетНаДетейДвойнойВторойОстаток = ВычетНаДетейДвойнойВторойОстаток + ВыборкаРасчетов.СтандартныеВычетыДетскиеДвойныеВторые;
//ВычетНаТретьегоРебенкаОстаток = ВычетНаТретьегоРебенкаОстаток + ВыборкаРасчетов.СтандартныеВычетыНаТретьегоРебенка;
//ВычетНаТретьегоРебенкаДвойнойОстаток = ВычетНаТретьегоРебенкаДвойнойОстаток + ВыборкаРасчетов.СтандартныеВычетыНаТретьегоРебенкаДвойные;
//ВычетНаТретьегоРебенкаДвойнойВторойОстаток = ВычетНаТретьегоРебенкаДвойнойВторойОстаток + ВыборкаРасчетов.СтандартныеВычетыНаТретьегоРебенкаДвойныеВторые;
//ВычетНаВторогоРебенкаОстаток = ВычетНаВторогоРебенкаОстаток + ВыборкаРасчетов.СтандартныеВычетыНаВторогоРебенка;
//ВычетНаВторогоРебенкаДвойнойОстаток = ВычетНаВторогоРебенкаДвойнойОстаток + ВыборкаРасчетов.СтандартныеВычетыНаВторогоРебенкаДвойные;
//ВычетНаВторогоРебенкаДвойнойВторойОстаток = ВычетНаВторогоРебенкаДвойнойВторойОстаток + ВыборкаРасчетов.СтандартныеВычетыНаВторогоРебенкаДвойныеВторые;
//ВычетНаДетейИнвалидовОстаток = ВычетНаДетейИнвалидовОстаток + ВыборкаРасчетов.СтандартныеВычетыДетскиеИнвалидов;
//ВычетНаДетейИнвалидовДвойнойОстаток = ВычетНаДетейИнвалидовДвойнойОстаток + ВыборкаРасчетов.СтандартныеВычетыДетскиеИнвалидовДвойные;
//ВычетНаДетейИнвалидовДвойнойВторойОстаток = ВычетНаДетейИнвалидовДвойнойВторойОстаток + ВыборкаРасчетов.СтандартныеВычетыДетскиеИнвалидовДвойныеВторые;
}
if(true/*ДоходЗаМесяцОстаток > 0*/)
{
//ВычетСоциальныйЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетСоциальныйОстаток);
//ВычетСоциальныйОстаток = ВычетСоциальныйОстаток - ВычетСоциальныйЗаМесяц;
//ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетСоциальныйЗаМесяц;
if(true/*ВыборкаРасчетов.КодВычетаЛичный = Справочники.ВычетыНДФЛ.Код103*/)
{
//ВычетЛичныйЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетЛичныйОстаток);
//ВычетЛичныйОстаток = ВычетЛичныйОстаток - ВычетЛичныйЗаМесяц;
//ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетЛичныйЗаМесяц;
}
//ВычетНаДетейЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетНаДетейОстаток);
//ВычетНаДетейОстаток = ВычетНаДетейОстаток - ВычетНаДетейЗаМесяц;
//ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетНаДетейЗаМесяц;
//ВычетНаДетейДвойнойЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетНаДетейДвойнойОстаток);
//ВычетНаДетейДвойнойОстаток = ВычетНаДетейДвойнойОстаток - ВычетНаДетейДвойнойЗаМесяц;
//ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетНаДетейДвойнойЗаМесяц;
//ВычетНаДетейДвойнойВторойЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетНаДетейДвойнойВторойОстаток);
//ВычетНаДетейДвойнойВторойОстаток = ВычетНаДетейДвойнойВторойОстаток - ВычетНаДетейДвойнойВторойЗаМесяц;
//ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетНаДетейДвойнойВторойЗаМесяц;
//ВычетНаВторогоРебенкаЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетНаВторогоРебенкаОстаток);
//ВычетНаВторогоРебенкаОстаток = ВычетНаВторогоРебенкаОстаток - ВычетНаВторогоРебенкаЗаМесяц;
//ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетНаВторогоРебенкаЗаМесяц;
//ВычетНаВторогоРебенкаДвойнойЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетНаВторогоРебенкаДвойнойОстаток);
//ВычетНаВторогоРебенкаДвойнойОстаток = ВычетНаВторогоРебенкаДвойнойОстаток - ВычетНаВторогоРебенкаДвойнойЗаМесяц;
//ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетНаВторогоРебенкаДвойнойЗаМесяц;
//ВычетНаВторогоРебенкаДвойнойВторойЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетНаВторогоРебенкаДвойнойВторойОстаток);
//ВычетНаВторогоРебенкаДвойнойВторойОстаток = ВычетНаВторогоРебенкаДвойнойВторойОстаток - ВычетНаВторогоРебенкаДвойнойВторойЗаМесяц;
//ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетНаВторогоРебенкаДвойнойВторойЗаМесяц;
//ВычетНаТретьегоРебенкаЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетНаТретьегоРебенкаОстаток);
//ВычетНаТретьегоРебенкаОстаток = ВычетНаТретьегоРебенкаОстаток - ВычетНаТретьегоРебенкаЗаМесяц;
//ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетНаТретьегоРебенкаЗаМесяц;
//ВычетНаТретьегоРебенкаДвойнойЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетНаТретьегоРебенкаДвойнойОстаток);
//ВычетНаТретьегоРебенкаДвойнойОстаток = ВычетНаТретьегоРебенкаДвойнойОстаток - ВычетНаТретьегоРебенкаДвойнойЗаМесяц;
//ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетНаТретьегоРебенкаДвойнойЗаМесяц;
//ВычетНаТретьегоРебенкаДвойнойВторойЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетНаТретьегоРебенкаДвойнойВторойОстаток);
//ВычетНаТретьегоРебенкаДвойнойВторойОстаток = ВычетНаТретьегоРебенкаДвойнойВторойОстаток - ВычетНаТретьегоРебенкаДвойнойВторойЗаМесяц;
//ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетНаТретьегоРебенкаДвойнойВторойЗаМесяц;
//ВычетНаДетейИнвалидовЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетНаДетейИнвалидовОстаток);
//ВычетНаДетейИнвалидовОстаток = ВычетНаДетейИнвалидовОстаток - ВычетНаДетейИнвалидовЗаМесяц;
//ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетНаДетейИнвалидовЗаМесяц;
//ВычетНаДетейИнвалидовДвойнойЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетНаДетейИнвалидовДвойнойОстаток);
//ВычетНаДетейИнвалидовДвойнойОстаток = ВычетНаДетейИнвалидовДвойнойОстаток - ВычетНаДетейИнвалидовДвойнойЗаМесяц;
//ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетНаДетейИнвалидовДвойнойЗаМесяц;
//ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетНаДетейИнвалидовДвойнойВторойОстаток);
//ВычетНаДетейИнвалидовДвойнойВторойОстаток = ВычетНаДетейИнвалидовДвойнойВторойОстаток - ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц;
//ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц;
if(true/*ВыборкаРасчетов.КодВычетаЛичный <> Справочники.ВычетыНДФЛ.Код103*/)
{
//ВычетЛичныйЗаМесяц = Мин(ДоходЗаМесяцОстаток,ВычетЛичныйОстаток);
//ВычетЛичныйОстаток = ВычетЛичныйОстаток - ВычетЛичныйЗаМесяц;
//ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетЛичныйЗаМесяц;
}
if(true/*ВыборкаРасчетов.МесяцНалоговогоПериода >= ДатаЗакона229ФЗ*/)
{
/*ДоходЗаМесяцДляИмущественныхВычетов = Макс(0, ВыборкаРасчетов.ОблагаемыйДоходЗаМесяц - ВычетСоциальныйЗаМесяц - ВычетЛичныйЗаМесяц
- ВычетНаДетейЗаМесяц - ВычетНаДетейДвойнойЗаМесяц - ВычетНаДетейДвойнойВторойЗаМесяц
- ВычетНаТретьегоРебенкаЗаМесяц - ВычетНаТретьегоРебенкаДвойнойЗаМесяц - ВычетНаТретьегоРебенкаДвойнойВторойЗаМесяц
- ВычетНаВторогоРебенкаЗаМесяц - ВычетНаВторогоРебенкаДвойнойЗаМесяц - ВычетНаВторогоРебенкаДвойнойВторойЗаМесяц
- ВычетНаДетейИнвалидовЗаМесяц - ВычетНаДетейИнвалидовДвойнойЗаМесяц - ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц);*/
}
if(true/*ДоходЗаМесяцДляИмущественныхВычетов > 0*/)
{
//ВычетИмущественныйПроцентыПоКредитамЗаМесяц = Мин(ДоходЗаМесяцДляИмущественныхВычетов, ВычетИмущественныйПроцентыПоКредитамОстаток);
//ВычетИмущественныйПроцентыПоКредитамОстаток = ВычетИмущественныйПроцентыПоКредитамОстаток - ВычетИмущественныйПроцентыПоКредитамЗаМесяц;
//ДоходЗаМесяцДляИмущественныхВычетов = ДоходЗаМесяцДляИмущественныхВычетов - ВычетИмущественныйПроцентыПоКредитамЗаМесяц;
//ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетИмущественныйПроцентыПоКредитамЗаМесяц;
//ВычетИмущественныйПроцентыПриПерекредитованииЗаМесяц = Мин(ДоходЗаМесяцДляИмущественныхВычетов, ВычетИмущественныйПроцентыПриПерекредитованииОстаток);
//ВычетИмущественныйПроцентыПриПерекредитованииОстаток = ВычетИмущественныйПроцентыПриПерекредитованииОстаток - ВычетИмущественныйПроцентыПриПерекредитованииЗаМесяц;
//ДоходЗаМесяцДляИмущественныхВычетов = ДоходЗаМесяцДляИмущественныхВычетов - ВычетИмущественныйПроцентыПриПерекредитованииЗаМесяц;
//ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетИмущественныйПроцентыПриПерекредитованииЗаМесяц;
//ВычетИмущественныйРасходыЗаМесяц = Мин(ДоходЗаМесяцДляИмущественныхВычетов, ВычетИмущественныйРасходыОстаток);
//ВычетИмущественныйРасходыОстаток = ВычетИмущественныйРасходыОстаток - ВычетИмущественныйРасходыЗаМесяц;
//ДоходЗаМесяцОстаток = ДоходЗаМесяцОстаток - ВычетИмущественныйРасходыЗаМесяц;
}
if(true/*РаспределятьПоПодразделениям*/)
{
//ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетЛичныйЗаМесяц, "ПримененныйВычетЛичный", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений,,,2);
//ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетНаДетейЗаМесяц, "ПримененныйВычетНаДетей", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений,,,2);
//ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетНаДетейДвойнойЗаМесяц, "ПримененныйВычетНаДетейДвойной", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений,,,2);
//ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетНаДетейДвойнойВторойЗаМесяц, "ПримененныйВычетНаДетейДвойнойВторой", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений,,,2);
//ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетНаТретьегоРебенкаЗаМесяц, "ПримененныйВычетНаТретьегоРебенка", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений,,,2);
//ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетНаТретьегоРебенкаДвойнойЗаМесяц, "ПримененныйВычетНаТретьегоРебенкаДвойной", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений,,,2);
//ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетНаТретьегоРебенкаДвойнойВторойЗаМесяц, "ПримененныйВычетНаТретьегоРебенкаДвойнойВторой", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений,,,2);
//ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетНаВторогоРебенкаЗаМесяц, "ПримененныйВычетНаВторогоРебенка", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений,,,2);
//ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетНаВторогоРебенкаДвойнойЗаМесяц, "ПримененныйВычетНаВторогоРебенкаДвойной", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений,,,2);
//ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетНаВторогоРебенкаДвойнойВторойЗаМесяц, "ПримененныйВычетНаВторогоРебенкаДвойнойВторой", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений,,,2);
//ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетНаДетейИнвалидовЗаМесяц, "ПримененныйВычетНаДетейИнвалидов", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений,,,2);
//ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетНаДетейИнвалидовДвойнойЗаМесяц, "ПримененныйВычетНаДетейИнвалидовДвойной", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений,,,2);
//ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц, "ПримененныйВычетНаДетейИнвалидовДвойнойВторой", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений,,,2);
//ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетИмущественныйРасходыЗаМесяц, "ПримененныйВычетИмущественныйРасход", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений,,,2);
//ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетИмущественныйПроцентыПоКредитамЗаМесяц, "ПримененныйВычетИмущественныйПроцентыПоКредитам", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений,,,2);
//ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, ВычетИмущественныйПроцентыПриПерекредитованииЗаМесяц, "ПримененныйВычетИмущественныйПроцентыПриПерекредитовании", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений,,,2);
}
if(true/*КомментироватьРасчет*/)
{
if(true/*ВычетСоциальныйЗаМесяц + ВычетЛичныйЗаМесяц
+ ВычетНаДетейЗаМесяц + ВычетНаДетейДвойнойЗаМесяц + ВычетНаДетейДвойнойВторойЗаМесяц
+ ВычетНаТретьегоРебенкаЗаМесяц + ВычетНаТретьегоРебенкаДвойнойЗаМесяц + ВычетНаТретьегоРебенкаДвойнойВторойЗаМесяц
+ ВычетНаВторогоРебенкаЗаМесяц + ВычетНаВторогоРебенкаДвойнойЗаМесяц + ВычетНаВторогоРебенкаДвойнойВторойЗаМесяц
+ ВычетНаДетейИнвалидовЗаМесяц + ВычетНаДетейИнвалидовДвойнойЗаМесяц + ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц + ВычетИмущественныйПроцентыПоКредитамЗаМесяц + ВычетИмущественныйПроцентыПриПерекредитованииЗаМесяц + ВычетИмущественныйРасходыЗаМесяц <> 0*/)
{
/*КомментарийВычетов = ОбщегоНазначенияЗК.КомментарийРасчета("Примененные вычеты, всего: " + (ВычетСоциальныйЗаМесяц + ВычетЛичныйЗаМесяц
+ ВычетНаДетейЗаМесяц + ВычетНаДетейДвойнойЗаМесяц + ВычетНаДетейДвойнойВторойЗаМесяц
+ ВычетНаТретьегоРебенкаЗаМесяц + ВычетНаТретьегоРебенкаДвойнойЗаМесяц + ВычетНаТретьегоРебенкаДвойнойВторойЗаМесяц
+ ВычетНаВторогоРебенкаЗаМесяц + ВычетНаВторогоРебенкаДвойнойЗаМесяц + ВычетНаВторогоРебенкаДвойнойВторойЗаМесяц
+ ВычетНаДетейИнвалидовЗаМесяц + ВычетНаДетейИнвалидовДвойнойЗаМесяц + ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц + ВычетИмущественныйПроцентыПоКредитамЗаМесяц + ВычетИмущественныйПроцентыПриПерекредитованииЗаМесяц + ВычетИмущественныйРасходыЗаМесяц), КомментарийМесяца);*/
if(true/*ВычетСоциальныйЗаМесяц <> 0*/)
{
//ОбщегоНазначенияЗК.КомментарийРасчета("Примененный социальный вычет: " + ВычетСоциальныйЗаМесяц, КомментарийВычетов);
}
if(true/*ВычетЛичныйЗаМесяц <> 0*/)
{
//ОбщегоНазначенияЗК.КомментарийРасчета("Примененный личный вычет: " + ВычетЛичныйЗаМесяц, КомментарийВычетов);
}
if(true/*ВычетНаДетейЗаМесяц <> 0*/)
{
//ОбщегоНазначенияЗК.КомментарийРасчета("Примененный вычет на детей: " + ВычетНаДетейЗаМесяц, КомментарийВычетов);
}
if(true/*ВычетНаДетейДвойнойЗаМесяц + ВычетНаДетейДвойнойВторойЗаМесяц <> 0*/)
{
//ОбщегоНазначенияЗК.КомментарийРасчета("Примененный вычет на детей (двойной): " + (ВычетНаДетейДвойнойЗаМесяц + ВычетНаДетейДвойнойВторойЗаМесяц), КомментарийВычетов);
}
if(true/*ВычетНаВторогоРебенкаЗаМесяц <> 0*/)
{
//ОбщегоНазначенияЗК.КомментарийРасчета("Примененный вычет на детей: " + ВычетНаВторогоРебенкаЗаМесяц, КомментарийВычетов);
}
if(true/*ВычетНаВторогоРебенкаДвойнойЗаМесяц + ВычетНаВторогоРебенкаДвойнойВторойЗаМесяц <> 0*/)
{
//ОбщегоНазначенияЗК.КомментарийРасчета("Примененный вычет на детей (двойной): " + (ВычетНаВторогоРебенкаДвойнойЗаМесяц + ВычетНаВторогоРебенкаДвойнойВторойЗаМесяц), КомментарийВычетов);
}
if(true/*ВычетНаТретьегоРебенкаЗаМесяц <> 0*/)
{
//ОбщегоНазначенияЗК.КомментарийРасчета("Примененный вычет на детей: " + ВычетНаТретьегоРебенкаЗаМесяц, КомментарийВычетов);
}
if(true/*ВычетНаТретьегоРебенкаДвойнойЗаМесяц + ВычетНаТретьегоРебенкаДвойнойВторойЗаМесяц <> 0*/)
{
//ОбщегоНазначенияЗК.КомментарийРасчета("Примененный вычет на детей (двойной): " + (ВычетНаТретьегоРебенкаДвойнойЗаМесяц + ВычетНаТретьегоРебенкаДвойнойВторойЗаМесяц), КомментарийВычетов);
}
if(true/*ВычетНаДетейИнвалидовЗаМесяц <> 0*/)
{
//ОбщегоНазначенияЗК.КомментарийРасчета("Примененный вычет на детей-инвалидов: " + ВычетНаДетейИнвалидовЗаМесяц, КомментарийВычетов);
}
if(true/*ВычетНаДетейИнвалидовДвойнойЗаМесяц + ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц <> 0*/)
{
//ОбщегоНазначенияЗК.КомментарийРасчета("Примененный вычет на детей-инвалидов (двойной): " + (ВычетНаДетейИнвалидовДвойнойЗаМесяц + ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц), КомментарийВычетов);
}
if(true/*ВычетИмущественныйПроцентыПоКредитамЗаМесяц + ВычетИмущественныйПроцентыПриПерекредитованииЗаМесяц <> 0*/)
{
//ОбщегоНазначенияЗК.КомментарийРасчета("Вычеты на погашение процентов по ипотеке: " + (ВычетИмущественныйПроцентыПоКредитамЗаМесяц + ВычетИмущественныйПроцентыПриПерекредитованииЗаМесяц), КомментарийВычетов);
}
if(true/*ВычетИмущественныйРасходыЗаМесяц <> 0*/)
{
//ОбщегоНазначенияЗК.КомментарийРасчета("Вычеты по расходам на строительство: " + ВычетИмущественныйРасходыЗаМесяц, КомментарийВычетов);
}
}
}
}
/*ОблагаемыйДоход = Макс(0, ОблагаемыйДоход + ВыборкаРасчетов.ОблагаемыйДоходЗаМесяц - (ВычетСоциальныйЗаМесяц + ВычетЛичныйЗаМесяц
+ ВычетНаДетейЗаМесяц + ВычетНаДетейДвойнойЗаМесяц + ВычетНаДетейДвойнойВторойЗаМесяц
+ ВычетНаТретьегоРебенкаЗаМесяц + ВычетНаТретьегоРебенкаДвойнойЗаМесяц + ВычетНаТретьегоРебенкаДвойнойВторойЗаМесяц
+ ВычетНаВторогоРебенкаЗаМесяц + ВычетНаВторогоРебенкаДвойнойЗаМесяц + ВычетНаВторогоРебенкаДвойнойВторойЗаМесяц
+ ВычетНаДетейИнвалидовЗаМесяц + ВычетНаДетейИнвалидовДвойнойЗаМесяц + ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц + ВычетИмущественныйПроцентыПоКредитамЗаМесяц + ВычетИмущественныйПроцентыПриПерекредитованииЗаМесяц + ВычетИмущественныйРасходыЗаМесяц));*/
//НалогЗаМесяц = Окр(ОблагаемыйДоход * ВыборкаРасчетов.СтавкаДляРезидента) - НалогИсчисленный;
//НалогИсчисленный = НалогИсчисленный + НалогЗаМесяц;
if(true/*ВозвращатьДанныеРасчетовБезПодразделений*/)
{
//СтрокаРезультата = РезультатыРасчетов.Добавить();
//ЗаполнитьЗначенияСвойств(СтрокаРезультата, ВыборкаРасчетов, "ФизЛицо, МесяцНалоговогоПериода, Резидент, ОблагаемыйДоходНарастающимИтогом, ОграничениеПоДоходамЛичные, ОграничениеПоДоходамНаДетей");
//СтрокаРезультата.ВычетЛичныйЗаМесяц = ВычетЛичныйЗаМесяц;
//СтрокаРезультата.ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц = ВычетНаДетейИнвалидовДвойнойВторойЗаМесяц;
//СтрокаРезультата.ВычетНаДетейИнвалидовДвойнойЗаМесяц = ВычетНаДетейИнвалидовДвойнойЗаМесяц;
//СтрокаРезультата.ВычетНаДетейИнвалидовЗаМесяц = ВычетНаДетейИнвалидовЗаМесяц;
//СтрокаРезультата.ВычетНаДетейДвойнойВторойЗаМесяц = ВычетНаДетейДвойнойВторойЗаМесяц;
//СтрокаРезультата.ВычетНаДетейДвойнойЗаМесяц = ВычетНаДетейДвойнойЗаМесяц;
//СтрокаРезультата.ВычетНаДетейЗаМесяц = ВычетНаДетейЗаМесяц;
//СтрокаРезультата.ВычетНаТретьегоРебенкаДвойнойВторойЗаМесяц = ВычетНаТретьегоРебенкаДвойнойВторойЗаМесяц;
//СтрокаРезультата.ВычетНаТретьегоРебенкаДвойнойЗаМесяц = ВычетНаТретьегоРебенкаДвойнойЗаМесяц;
//СтрокаРезультата.ВычетНаТретьегоРебенкаЗаМесяц = ВычетНаТретьегоРебенкаЗаМесяц;
//СтрокаРезультата.ВычетНаВторогоРебенкаДвойнойВторойЗаМесяц = ВычетНаВторогоРебенкаДвойнойВторойЗаМесяц;
//СтрокаРезультата.ВычетНаВторогоРебенкаДвойнойЗаМесяц = ВычетНаВторогоРебенкаДвойнойЗаМесяц;
//СтрокаРезультата.ВычетНаВторогоРебенкаЗаМесяц = ВычетНаВторогоРебенкаЗаМесяц;
//СтрокаРезультата.ВычетИмущественныйРасходыОстаток = ВычетИмущественныйРасходыОстаток;
//СтрокаРезультата.ВычетИмущественныйПроцентыПриПерекредитованииОстаток = ВычетИмущественныйПроцентыПриПерекредитованииОстаток;
//СтрокаРезультата.ВычетИмущественныйПроцентыПоКредитамОстаток = ВычетИмущественныйПроцентыПоКредитамОстаток;
//СтрокаРезультата.НалогЗаМесяц = НалогЗаМесяц;
}
if(true/*КомментироватьРасчет*/)
{
//ОбщегоНазначенияЗК.КомментарийРасчета("Исчислено налога нарастающим итогом за год: " + Окр(ОблагаемыйДоход * ВыборкаРасчетов.СтавкаДляРезидента), КомментарийМесяца);
//ОбщегоНазначенияЗК.КомментарийРасчета("Исчислено налога за месяц: " + НалогЗаМесяц, КомментарийМесяца);
//РанееНалогИсчисленный = ИсчисленоРанее.Скопировать(ИсчисленоРанее.НайтиСтроки(СтруктураПоиска),"Налог");
//РанееНалогИсчисленный = -РанееНалогИсчисленный.Итог("Налог");
if(true/*РанееНалогИсчисленный <> 0*/)
{
//ОбщегоНазначенияЗК.КомментарийРасчета("Зарегистрировано ранее налога за месяц: " + РанееНалогИсчисленный, КомментарийМесяца);
}
//ОбщегоНазначенияЗК.КомментарийРасчета("Результат расчета за " + Формат(ВыборкаРасчетов.МесяцНалоговогоПериода, "ДФ=ММММ") + ": " + (НалогЗаМесяц - РанееНалогИсчисленный), КомментарийНДФЛ);
}
}
if(true/*РаспределятьПоПодразделениям*/)
{
//ВписатьРесурсВРезультатыРасчетовНДФЛ(ВспомогательнаяТаблица, ВыборкаРасчетов.МесяцНалоговогоПериода, НалогЗаМесяц, "Налог", ВыборкаРасчетов, Доходы, КоэффициентыПодразделений);
//ВспомогательнаяТаблица.Свернуть("ФизЛицо, МесяцНалоговогоПериода,Подразделение", СтрокаРесурсов);
}
}
//;;
}
//;;
}
//;;
}
if(true/*РаспределятьПоПодразделениям*/)
{
//РезультатыРасчетов.Колонки.Подразделение.Имя = "ПодразделениеОрганизации";
}
return null;
}