Имя: Пароль:
1C
1C 7.7
v7: ЗиК 346. Подготовка сведений ПФР, тяжелые УТ по уволенным сотрудникам
0 2S
 
06.05.14
13:45
При формировании файла выгрузки и проверки всякими чеками выявился очередной косяк разработчиков. А именно - по уволенным сотрудникам,которые в течении месяца были на должности с тяжелыми УТ, не выгружается раздел "СведенияОсуммеВыплатИвознагражденийПоДопТарифу".
Есть таблетка для сабжа, чтобы модуль не ковырять?
1 2S
 
06.05.14
13:51
собственно сам косяк здесь
                Если СуммаВыплатИныхВознаграждений<>0 Тогда
                    ЕстьДанныеПоКлассу = 1;
                    ДобавитьБлокСведенияОсуммеВыплатИвознагражденийПоДопТарифу(хмлСведенияЗЛ,Месяц,НомерСтроки,КодСтрокиВРазделе,КлассыУсловийТрудаКодыПФР.Получить(КлассУсловийТруда),
                                    СуммаВыплатПоДопТарифу27_1,СуммаВыплатПоДопТарифу27_2_18);    
                КонецЕсли;

СуммаВыплатИныхВознаграждений приходит со значением 0
2 2S
 
06.05.14
14:04
бггг, это капец, товарищи
3 2S
 
06.05.14
14:05
Студенты писали выгрузку, не иначе
4 2S
 
06.05.14
14:09
Эмуляция проблемы, увольняем сотрудника 25 января. В январе ему начислена сумма по доптарифу. Т.е. помесячно база выглядит пусть так:
январь - 15 000
февраль - 0
март - 0
Дальше кусок модуля

        ТаблицаВыплатРаздел6РСВ_1.ВыбратьСтроки();
        Пока ТаблицаВыплатРаздел6РСВ_1.ПолучитьСтроку()>0 Цикл
            
            КатегорияЗЛ = ТаблицаВыплатРаздел6РСВ_1.КатегорияЗЛ;
            ТаблицаВыплатПоКатегории = ТаблицаВыплатРаздел6РСВ_1.ТаблицаВыплатПоКатегории;
                            
            ТаблицаВыплатПоКатегории.ВыбратьСтроки();
            
            ЕстьДанныеПоКатегории = 0;
            Пока ТаблицаВыплатПоКатегории.ПолучитьСтроку()=1 Цикл
                
                НомМесяца = ТаблицаВыплатПоКатегории.Месяц;
                КодСтрокиВРазделе = КодСтроки + НомМесяца;
                Месяц = НомМесяца + СдвигМесяцев;
                СуммаВыплатИныхВознаграждений = ТаблицаВыплатПоКатегории.СуммаВыплат;
                НеПревышающиеВсего = ТаблицаВыплатПоКатегории.БазаДоПредела;
                НеПревышающиеПоДоговорам = ТаблицаВыплатПоКатегории.БазаДоПределаДоговры;
                ПревышающиеПредельную    = ТаблицаВыплатПоКатегории.СуммаВыплатСверхПредела;
                
                ЕстьДанныеПоКатегории = 1;
                ДобавитьБлокСведенияОсуммеВыплатИвознагражденийВпользуЗЛ(хмлСведенияЗЛ,Месяц,НомерСтроки,КодСтрокиВРазделе,КатегорияЗЛ.Идентификатор(),
                                    СуммаВыплатИныхВознаграждений,НеПревышающиеВсего,НеПревышающиеПоДоговорам,ПревышающиеПредельную);    
                
                НомерСтроки = НомерСтроки + 1;
                
            КонецЦикла;
            
            Если ЕстьДанныеПоКатегории = 1 Тогда
                КодСтроки = КодСтроки + 10;    
            КонецЕсли;
            
        КонецЦикла;


Особое внимание
                СуммаВыплатИныхВознаграждений = ТаблицаВыплатПоКатегории.СуммаВыплат;

Т.е переменной присваивается значение последнего месяца - марта, когда он собственно и не работал.
Вот как это называется?!

Лекарство
Новая переменная, куда суммируем базу по трем месяцам и дальше эту переменную передаем в (1)
5 2S
 
06.05.14
14:09
приятно поговорить с умными людьми
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.