Добавлено: 23 сен 2005, 20:28
В алгоритеме < if(LSc_SisOpl=41,LSc_Tarif*Uch_ChasF*0.4,LSc_Tarif/Uch_ChasGr*Uch_ChasF*0.4)> предложеным товрищем OV, есть недостатоки:
1) Если буду оформляться переходы в межпериод и в этих переходах меняется тарификация, то оплата будет неправильной в силу ее зависимости от тарифа в лиц. счете, т.е. LSc_Tarif. Хотя часы Uch_ChasF беруться вроде логично правильно. Итого желательно на перспективу написать
Uch_SisOpl=41,Uch_Tarif*Uch_ChasF*0.4,Uch_Tarif/Uch_ChasGr*Uch_ChasF*0.4
2) Но на самом деле у меня работает такой алгоритм(ы)
170 =KLVO_Proc/100 * IF((UCH_SISOPL = 30) or (UCH_SISOPL = 35),SumAlgNo(171),SumAlgNo(172))
171=UCH_SETCH(WT_GHBD(3,0,0,TRUE,XAR_DATAN,XAR_DATOK)) * (UCH_TARIF / UCH_CHASGR) * (UCH_SETDN(0)+1)
172=UCH_SETCH(WT_GHBD(3,0,0,TRUE,XAR_DATAN,XAR_DATOK)) * UCH_TARIF* (UCH_SETDN(0)+1)
где коды 30 и 35 это окладники, остальные почасовики
1) Если буду оформляться переходы в межпериод и в этих переходах меняется тарификация, то оплата будет неправильной в силу ее зависимости от тарифа в лиц. счете, т.е. LSc_Tarif. Хотя часы Uch_ChasF беруться вроде логично правильно. Итого желательно на перспективу написать
Uch_SisOpl=41,Uch_Tarif*Uch_ChasF*0.4,Uch_Tarif/Uch_ChasGr*Uch_ChasF*0.4
2) Но на самом деле у меня работает такой алгоритм(ы)
170 =KLVO_Proc/100 * IF((UCH_SISOPL = 30) or (UCH_SISOPL = 35),SumAlgNo(171),SumAlgNo(172))
171=UCH_SETCH(WT_GHBD(3,0,0,TRUE,XAR_DATAN,XAR_DATOK)) * (UCH_TARIF / UCH_CHASGR) * (UCH_SETDN(0)+1)
172=UCH_SETCH(WT_GHBD(3,0,0,TRUE,XAR_DATAN,XAR_DATOK)) * UCH_TARIF* (UCH_SETDN(0)+1)
где коды 30 и 35 это окладники, остальные почасовики