29 марта, 2024

Расчет зарплаты

В конфигурации «Бухгалтерия для Ураины», редакция 2.0, при подсчете количества часов не учитываются предпраздничные дни. Простой способ исправить ситуацию:

Модуль РасчетЗарплатыБазовый
Функция РабочихДнейЧасовВПериоде
было: РабочихДнейЧасов.Часов = РабочиеДни * 8 + ПредпраздничныеДни * 8;
нужно: РабочихДнейЧасов.Часов = РабочиеДни * 8 + ПредпраздничныеДни * 7;

Процедура РассчитатьНачисленияОчередности
было:
Если ЗначениеЗаполнено(ГрафикРаботы) Тогда
Попытка
НормаДнейЗаМесяц = КалендарныеГрафики.ПолучитьРазностьДатПоКалендарю(ГрафикРаботы, НачалоМесяца(МесяцНачисления), КонецМесяца(МесяцНачисления));
НормаЧасовЗаМесяц = НормаДнейЗаМесяц*8;
Исключение
НормаДнейЗаМесяц = 0;
НормаЧасовЗаМесяц = 0;
КонецПопытки;
Иначе
РабочихДнейЧасов = РабочихДнейЧасовВПериоде(ПроизводственныйКалендарь, НачалоМесяца(МесяцНачисления), КонецМесяца(МесяцНачисления));
НормаДнейЗаМесяц = РабочихДнейЧасов.Дней;
НормаЧасовЗаМесяц = РабочихДнейЧасов.Часов;
КонецЕсли;

нужно оставить только:
РабочихДнейЧасов = РабочихДнейЧасовВПериоде(ПроизводственныйКалендарь, НачалоМесяца(МесяцНачисления), КонецМесяца(МесяцНачисления));
НормаДнейЗаМесяц = РабочихДнейЧасов.Дней;
НормаЧасовЗаМесяц = РабочихДнейЧасов.Часов;

далее добавить в цикле выборки:
Если ДнейПоКалендарю = НормаДнейЗаМесяц Тогда
ИсходныеДанные.Вставить("ЧасовПоКалендарю", НормаЧасовЗаМесяц);
КонецЕсли;