Имя: Пароль:
1C
1C 7.7
v7: ЗиК 322: глючит глСобратьДанныеДляНДФЛ2011()
,
0 andrewks
 
16.03.12
10:32
кто-нибудь сталкивался  с ситуациями, когда в возвращаемой данной функцией ТЗ колонки
№21 "суммы НДФЛ исчисленного (по трем ставкам), нарастающим итогом с начала года - исчисленного для налоговой отчетности"
и
"НУ1"

не совпадают?

например, так: http://savepic.su/1594705.htm

в журнале так: http://savepic.su/1579345.htm

сотрудник принят на работу в январе 2012 года.

обратите внимание на значение в колонке "НУ1" за февраль - там 1060, а должно быть 777
1 zak555
 
16.03.12
10:32
релиз ?
2 andrewks
 
16.03.12
10:32
сорри. релиз 322-й
3 zak555
 
16.03.12
10:36
я последние ещё не смотрел

давай md =)
4 andrewks
 
16.03.12
10:48
что интересно, потом ,в след.месяцах выравнивается, и если сотр никуда не переходил, то справка формируется нормально.

но вот если он перемещён, например, с 01.03.12 в подразделение с другим ОКАТО/КПП, вылазит косяк в справках - по 1-му подразделению получается недоплата, по 2-му переплата по НДФЛ
5 andrewks
 
16.03.12
10:50
и ещё: если убрать з/п за март (но оставив выплату з/п за февраль), то картина такая:

http://savepic.su/1628499.htm

где-то в недрах глСобратьДанныеДляНДФЛ2011()  есть косяк
6 zak555
 
16.03.12
10:51
выкладывай уже глСобратьДанныеДляНДФЛ2011
7 andrewks
 
16.03.12
10:53
8 andrewks
 
16.03.12
10:54
и ещё одно интересное наблюдение: если исправить в журнале НДФЛ удержанный в январе с 0 на 283, а в феврале с 777 на 494, то косяк не проявляется
9 andrewks
 
16.03.12
10:56
если кто уже копался в этой функции, объясните, в чём отличие колонок №21 и "НУ1"? по логике, они всегда должны быть равны
10 andrewks
 
16.03.12
11:11
вот это вот нахрена???

Налог13у = Макс(Налог13и,Налог13у); // учтем ситуацию, когда в месяце удержали больше чем начислили

у 1сников крыша поехала? мешать суммы по бух.учёту с суммами по налоговому учёту
11 andrewks
 
16.03.12
11:11
19-я строчка с конца процедуры
12 andrewks
 
17.03.12
22:39
решение:

заменяем

       Налог13уВсего = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(НомерСтрокиСотрудника+12,10);
       
       Для Сч = 1 По 12 Цикл
           
           СтрокаМесяца=НомерСтрокиСотрудника+Сч;
           
           Налог13и = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаМесяца,4);
           Налог13у = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаМесяца,10);
           Если Сч>1 Тогда
               Налог13и = Макс(0,Налог13и - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаМесяца-1,4));
               Налог13у = Макс(0,Налог13у - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаМесяца-1,10));
           КонецЕсли;
           
           Налог13у = Макс(Налог13и,Налог13у); // учтем ситуацию, когда в месяце удержали больше чем начислили
           Налог13у = Мин(Налог13у,Налог13уВсего);
           Налог13уВсего = Налог13уВсего - Налог13у;
           
           Если Сч>1 Тогда
               Налог13у = Налог13у + ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаМесяца-1,"НУ1");
           КонецЕсли;
           
           ДоходыВычетыНалогиСотрудников.УстановитьЗначение(СтрокаМесяца,"НУ1",Налог13у);
           
       КонецЦикла;        



на


       Налог13уВсего = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(НомерСтрокиСотрудника+12,10);
       
       Налог13у_пред=0;
       
       Для Сч = 1 По 12 Цикл
           
           СтрокаМесяца=НомерСтрокиСотрудника+Сч;
           
           Налог13и_нараст = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаМесяца,4);
           Налог13у_нараст = ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаМесяца,10);
           
           Если Сч>1 Тогда
               Налог13у_тек = Макс(0,Налог13у_нараст - ДоходыВычетыНалогиСотрудников.ПолучитьЗначение(СтрокаМесяца-1,10));
           Иначе
               Налог13у_тек=Налог13у_нараст;
           КонецЕсли;
           
           Налог13у_тек = Мин(Налог13у_тек,Налог13уВсего);
           Налог13уВсего = Налог13уВсего - Налог13у_тек;
           
           Если Сч>1 Тогда
               Налог13у_тек = Налог13у_тек + Налог13у_пред;
           КонецЕсли;
           Налог13у_пред=Налог13у_тек;
           Налог13у_тек = Макс(Налог13и_нараст,Налог13у_тек); // учтем ситуацию, когда в месяце удержали больше чем начислили
           
           ДоходыВычетыНалогиСотрудников.УстановитьЗначение(СтрокаМесяца,"НУ1",Налог13у_тек);
           
       КонецЦикла;