0
Отвечен

Определение праздничных часов

Игорь Шалдин 6 лет назад в Расчеты начислений и удержаний обновлен 6 лет назад 3

Здравствуйте.

Работа в выходной помечена в табеле символом "В". В закладке "Часы табеля" проставлено количество часов, отработанных в выходной. В скрипте определяю количество отработанных в выходной часов так:

skoljko(prch,data,info.z1,info.z2,"В",calm,cht)

Появилась необходимость отмечать в табеле рабочий выходной так же, как и обычный рабочий день - символом "Р". 

Если в функции skoljko заменить "В" на "Р", количество выходных часов посчитается, конечно же, не правильно.

Есть ли возможность "узнать" скриптом, что отработанный день является именно выходным, и взять часы только из этого дня?

-----------------------------------------------------------------------------------------------------------------------------------------------------------

З.Ы. Вообще, "ноги" вопроса растут из следующей ситуации:

Работа в выходной помечена в табеле символом "В":

Image 2521

С 9 января у сотрудника изменился процент надбавки (считается по 15-му алгоритму). Расчёт производится следующим образом:

Image 2522

Т.е. надбавка в размере 20%, действующая с 09.01 накручивается на всю начисленную в январе сумму, не смотря на то, что 1 день (06.01) отработан в периоде, кода процент надбавки был 10%.

Если если отметить работу в праздник символом "Р", всё становится красиво:

Image 2523

10% начисляются 588.24, заработанные с 01.01 по 08.01

20% начисляются на 10000, заработанные с 09.01 по 31.01

Можно ли как-то научить 15-й алгоритм реагировать не только на символ "Р" в табеле, но и на "В". Если да, то основной вопрос отпадает сам собой.

Ответ

+1
Ответ
Отвечен

Ой, только не в rsimv "навсегда" (то есть не в UserSetSimv)!
Это может "выстрелить" в любом алгоритме или форме отчетности (то что буквы В надо считать отработанными) и не факт что это понравится (ведь пожелание только по алгоритму надбавки).

15 алгоритм есть в скриптах (algsys.s SysAlg12_15_25_115(&info,&r)). Можно его утащить в useralg и модифицировать, дать новый номер алгоритма и этот номер алгоритма назначить виду надбавки.
Модификация такая:



string oldrsimv = rsimv; 
rsimv += "В"; 
for(var m=mes1; m<=mes2; m++) 
{
....
}  // 08.11.95
rsimv = oldrsimv;
На рассмотрении

Добрый день

6ой параметр 15 алгоритма:

6 = 2

«тип неполноты» для выборки: пропорционально нормативным рабочим дням

Вы видимо ходите считать по 

  • 4 - по рабочим дням

Но нужно добавить символ "В" в "рабочие дни" ( в USSETSIM.S  в UserSetSimv() добавить строку rsimv = "ВР";

+1
Ответ
Отвечен

Ой, только не в rsimv "навсегда" (то есть не в UserSetSimv)!
Это может "выстрелить" в любом алгоритме или форме отчетности (то что буквы В надо считать отработанными) и не факт что это понравится (ведь пожелание только по алгоритму надбавки).

15 алгоритм есть в скриптах (algsys.s SysAlg12_15_25_115(&info,&r)). Можно его утащить в useralg и модифицировать, дать новый номер алгоритма и этот номер алгоритма назначить виду надбавки.
Модификация такая:



string oldrsimv = rsimv; 
rsimv += "В"; 
for(var m=mes1; m<=mes2; m++) 
{
....
}  // 08.11.95
rsimv = oldrsimv;

Сервис поддержки клиентов работает на платформе UserEcho