В начало

Процедура Перерасчет

 

Процедура Перерасчет (Группа, Сотрудник, Основание, Начало, Окончание)

   //Группа расчетов "оплата по среднему"

   ОС = ГруппаРасчетовплатаПоСреднему;

   // Перерасчет по журналу "зарплата"

   ЖрнЗарплата = СоздатьОбъект ("ЖурналРасчетоварплата");

   // Дата, начиная с которой нужно перерасчитывать и начисления

   ДатаНачислений = ЖрнЗарплатаонецПериодаПоДате (Начало) + 1;

   // выделим все записи ЖР по сотруднику

   ЖрнЗарплатаыбратьЗаписиПоОбъекту (Сотрудник,

                    ЖрнЗарплатаачалоПериодаПоДате (Начало),

                    Минимум (Окончание, ЖрнЗарплатаачалоТекущегоПериода () - 1));

   Сч = 1;

   Пока ЖрнЗарплатаолучитьЗапись () > 0 Цикл

      Если ЖрнЗарплатаидРасч.ВходитВГруппу (Группа) = 1 Тогда

         Пересчитать = 1;

         Если  ( (ЖрнЗарплатаидРасч.ВходитВГруппу (ОС) = 1) И

                (ЖрнЗарплатаатаНачала<ДатаНачислений)) Тогда

            // Надо перерасчитывать начисления, оплачиваемые

            //по среднему заработку только следующего

            //  (за началом действия данного документа-основания)

            // периода расчета

            Пересчитать = 0;

         КонецЕсли;

         Если Пересчитать = 1 Тогда

            ЖрнЗарплатавестиПерерасчет (};

         КонецЕсли;

      КонецЕсли;

   КонецЦикла;

КонецПроцедуры