Как автоматически определять праздничные дни при расчёте за месяц
Добрый день!
В организации рассчитывается заработная плата сторожа.
График приходит автоматически из КП.
12.06.2019 - праздничный день.
Нужно, чтобы при расчёте за месяц сотруднику начислялись праздничные по 128-му коду. Алгоритм представлен ниже:
//======================= Расчёт праздничных (РВ - из табеля) ==================
case 928:
{ int col = 33; // столбец для расчета нормативного заработка
var D = CreateObject("KDate");
D.SetDateII(countday,mrasch);
rwlsbuf(1);
if ( ras_normzar(col-1,"1",5,4,n1,D)==ESC )
n1 = 0.;
double nz=n1; // нормативный заработок
double sch = n1 / norm(2); // ставка в час
skoljko(r[2],data,info.z1,info.z2,"В",calm,cht); // количество выходных часов по символам "В"
n1 = sch*r[2];//*info.bz/100; // сумма выходных
if(FL_V_ALG && uprc != NO_SCREEN)
{
infolist.add_record("Столбец выборки",col);
infolist.add_record("Нормативный заработок",nz);
infolist.add_record("Нормативные часы",norm(2));
infolist.add_record("Ставка в час", sch);
infolist.add_record("Праздничные часы",r[2]);
infolist.add_record("Процент выплаты",info.bz);
infolist.add_record("Результат",n1);
}
break;
},
Проблема в том, что из КП табель по этому сотруднику за 12-е число приходит с обычной "Р"-кой. Поскольку под сотрудника настроен сменный график, для него этот день является рабочим.
В нормативном календаре
12.06.2019 подсвечивается, как праздничный. Подскажите, пожалуйста, можно ли внутри алгоритма проверять, является ли день праздничным, и если да, менять символ "Р" на "В", чтобы приведённый выше алгоритм правильно отрабатывал?
Ответ
Добрый день.
Можете для примера посмотреть ф-цию
CountTabelNormCalendDay(absm, _SimvTabel, _SimvNorm, bHoliday, &Hours )
string Holidays = ListHolidays(absm); var razb = CreateObject("ParamFuncRW"); razb.IInitial(Holidays,",",32); short HolidayDay[32]; for ( int i=0; i< razb.Count(); ++i ) { HolidayDay[i]=atoi(razb.Get(i)); } for ( int day=1; day<=countday; day++ ) { int pos = poisk1(day,HolidayDay,razb.Count(),0); if (pos!=EOF) //праздничный день
Для замены символа табеля используйте
zamena_simv_v_tab
Сервис поддержки клиентов работает на платформе UserEcho
Добрый день.
Можете для примера посмотреть ф-цию
Для замены символа табеля используйте