gifts2017

Ошибка в отчете "Справки по НДФЛ" в Комплексной р.517

Опубликовал Юрий Попов (yupi71) в раздел Отчеты - Налоговые

Исправление ошибки расчета сумм вычетов (по кодам 311, 312, 318) в п. 4.1 отчета "Справки по НДФЛ".

При создании справок в п.4.1. "Суммы предоставленных налогоплательщику налоговых вычетов" по кодам вычетов 311, 312, 318 неверно формируются суммы вычетов, т.е. суммируются накопительные суммы.

Для наглядности:

должно быть: (Январь 4000) + (Февраль 4000) + (Март 4000) = 12000

в отчете: (Январь 4000) + (Февраль 8000) + (Март 12000) = 24000

надеюсь понятно.


Исправление:

в стр. 2128 модуля отчета "СправкиПоНДФЛ" в Функция СоздатьСправкиПоСотруднику2011(...)

Заменить код

//вычеты предоставленные
СписокВычетовПредоставленных=ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1+СчМесяцев,3).ПолучитьЗначение(1);
СписокВычетовПредоставленных.Выгрузить(СписокВычетов);

Вычеты311=Число(ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1+СчМесяцев,3).ПолучитьЗначение(3));
Вычеты312=Число(ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1+СчМесяцев,3).ПолучитьЗначение(4));
Вычеты318=Число(ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1+СчМесяцев,3).ПолучитьЗначение(9));

СписокВычетов.ДобавитьЗначение(Вычеты311,"311");
СписокВычетов.ДобавитьЗначение(Вычеты312,"312");
СписокВычетов.ДобавитьЗначение(Вычеты318,"318");

Если СчМесяцев>1 Тогда

//вычеты предоставленные
СписокВычетовПредоставленныхПрошлМесяц=ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1+СчМесяцев-1,3).ПолучитьЗначение(1);

Вычеты311=Число(ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1+СчМесяцев-1,3).ПолучитьЗначение(3));
Вычеты312=Число(ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1+СчМесяцев-1,3).ПолучитьЗначение(4));
Вычеты318=Число(ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1+СчМесяцев-1,3).ПолучитьЗначение(9));

СписокВычетовПредоставленныхПрошлМесяц.ДобавитьЗначение(Вычеты311,"311");
СписокВычетовПредоставленныхПрошлМесяц.ДобавитьЗначение(Вычеты312,"312");
СписокВычетовПредоставленныхПрошлМесяц.ДобавитьЗначение(Вычеты318,"318");

Для СчВычетов = 1 По СписокВычетовПраво.РазмерСписка() Цикл

КодВычета = "";
СписокВычетовПраво.ПолучитьЗначение(СчВычетов,КодВычета);

РазмерВычета = Число(СписокВычетов.Получить(КодВычета));

РазмерВычетаПрошлМесяц = Число(СписокВычетовПредоставленныхПрошлМесяц.Получить(КодВычета));
РазмерВычета = РазмерВычета - РазмерВычетаПрошлМесяц;
СписокВычетов.Установить(КодВычета,РазмерВычета);

КонецЦикла;

КонецЕсли;



на



//вычеты предоставленные
СписокВычетовПредоставленных=ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1+СчМесяцев,3).ПолучитьЗначение(1);
СписокВычетовПредоставленных.Выгрузить(СписокВычетов);

Вычеты311=Число(ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1+СчМесяцев,3).ПолучитьЗначение(3));
Вычеты312=Число(ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1+СчМесяцев,3).ПолучитьЗначение(4));
Вычеты318=Число(ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1+СчМесяцев,3).ПолучитьЗначение(9));

Если СчМесяцев>1 Тогда 


//вычеты предоставленные
СписокВычетовПредоставленныхПрошлМесяц=ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1+СчМесяцев-1,3).ПолучитьЗначение(1);

Вычеты311=Вычеты311-Число(ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1+СчМесяцев-1,3).ПолучитьЗначение(3));
Вычеты312=Вычеты312-Число(ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1+СчМесяцев-1,3).ПолучитьЗначение(4));
Вычеты318=Вычеты318-Число(ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаИтоговойТаблицы-1+СчМесяцев-1,3).ПолучитьЗначение(9));

СписокВычетовПредоставленныхПрошлМесяц.ДобавитьЗначение(Вычеты311,"311");
СписокВычетовПредоставленныхПрошлМесяц.ДобавитьЗначение(Вычеты312,"312");
СписокВычетовПредоставленныхПрошлМесяц.ДобавитьЗначение(Вычеты318,"318");

Для СчВычетов = 1 По СписокВычетовПраво.РазмерСписка() Цикл

КодВычета = "";
СписокВычетовПраво.ПолучитьЗначение(СчВычетов,КодВычета);

РазмерВычета = Число(СписокВычетов.Получить(КодВычета));

РазмерВычетаПрошлМесяц = Число(СписокВычетовПредоставленныхПрошлМесяц.Получить(КодВычета));
РазмерВычета = РазмерВычета - РазмерВычетаПрошлМесяц;
СписокВычетов.Установить(КодВычета,РазмерВычета);

КонецЦикла;

КонецЕсли;

СписокВычетов.ДобавитьЗначение(Вычеты311,"311");
СписокВычетов.ДобавитьЗначение(Вычеты312,"312");
СписокВычетов.ДобавитьЗначение(Вычеты318,"318");



Буду рад если хоть кому-то статья окажется полезным.

См. также

Подписаться Добавить вознаграждение
В этой теме еще нет сообщений.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа