06.07.2009, 10:51 | #1 |
Участник
|
Кто нибудь смотрел новую Демо базу по Зарплате?
Не могу ввести Страховой стаж в карточке сотрудника. Если ввожу СТРАХОВОЙ стаж дата начало, то страховой стаж на дату лет не считает. Страховой стаж на дату лет ввести не даёт. все обнуляется. В Navision я чайник и только начинаю изучать. Может ,что делаю не так? Помогите пожалуйста. |
|
06.07.2009, 13:39 | #2 |
Участник
|
Цитата:
Сообщение от im-juli
Кто нибудь смотрел новую Демо базу по Зарплате?
Не могу ввести Страховой стаж в карточке сотрудника. Если ввожу СТРАХОВОЙ стаж дата начало, то страховой стаж на дату лет не считает. Страховой стаж на дату лет ввести не даёт. все обнуляется. В Navision я чайник и только начинаю изучать. Может ,что делаю не так? |
|
14.07.2009, 14:20 | #3 |
Участник
|
Цитата:
Когда вводим Страховой стаж на дату лет срабатывает ф-я TestInsuranceServ вот ее код Код: HumanResSetup.GET; HumanResSetup.TESTFIELD("Min Insurance Serv Start Date"); IF ("Insurance Empl. Starting Date" <> 0D) AND (HumanResSetup."Min Insurance Serv Start Date" <> 0D) THEN BEGIN CalcInsurServ(HumanResSetup."Min Insurance Serv Start Date","Insurance Empl. Starting Date", TmpYear,TmpMonth,TmpDay,0,0,0); IF "Insurance Empl. (Years)" > TmpYear THEN "Insurance Empl. (Years)" := TmpYear; IF "Insurance Empl. (Months)" > TmpMonth THEN "Insurance Empl. (Months)" := TmpMonth; IF "Insurance Empl. (Days)" > TmpDay THEN "Insurance Empl. (Days)" := TmpDay; END; Код: CalcInsurServ(StartingDate : Date;CurrentDate : Date;VAR YearsQty : Integer;VAR MonthsQty : Integer;VAR DaysQty : Integer;YearStart : Integer;MonthsStart : Integer;DaysStart : Integer) DayAgo := YearStart * 12 * 30 + MonthsStart * 30 + DaysStart; IF DayAgo <> 0 THEN BEGIN //ДОБАВИЛИ УСЛОВИЕ StartingDateNew := CALCDATE('<-' + FORMAT(DayAgo) + 'D>',StartingDate); IF StartingDateNew <> 0D THEN BEGIN DaysQty := CurrentDate - StartingDateNew; MonthsQty := ROUND(DaysQty / 30, 1.0, '<'); DaysQty := DaysQty - MonthsQty * 30; END; IF MonthsQty > 12 THEN BEGIN YearsQty := ROUND(MonthsQty / 12 ,1.0, '<'); MonthsQty := MonthsQty - YearsQty * 12; END; END; |
|
15.07.2009, 00:36 | #4 |
Участник
|
Если изменить параметры, то стаж лет , мес , дней ввсети получается. Но при этом стаж на дату (рабочую) лет, мес, дней получается очень странный.
Не понимаю почему Insurance Empl. Starting Date - OnValidate() не сделана в духе Total Empl. Starting Date - OnValidate() |
|