27.08.2008, 11:30 | #21 |
Участник
|
|
|
27.08.2008, 12:16 | #22 |
Участник
|
У меня запись такого вида:
Код: FOR i := 1 TO 12 DO BEGIN IF (Month[i] <> '') THEN BEGIN TmpMonth := Month[i]; Month[i] := COPYSTR(TmpMonth,1,STRLEN(TmpMonth)-4); Y[i] := COPYSTR(TmpMonth,STRLEN(TmpMonth)-4,5); END; END; Код: TmpMonth := Month[i]; |
|
27.08.2008, 12:37 | #23 |
MCTS
|
А на какой строке ошибка с расчетом даты? дебаггер активизирован?
|
|
27.08.2008, 13:11 | #24 |
Участник
|
Теперь в функции TESTAEPeriod
Код: HRSetUp.GET; Employee.GET(EmployeeSalary."Employee No."); StartAEPeriod := EmployeeSalary."Starting Date Average Earnings"; TimeSheet.RESET; TimeSheet.SETRANGE("Starting Date",EmployeeSalary."Starting Date Average Earnings",EmployeeSalary."Ending Date Average Earnings"); TimeSheet.SETRANGE("Employee No.",EmployeeSalary."Employee No."); TimeSheet.SETRANGE("Time-Sheet Type",1); TimeSheet.SETFILTER("Digression Type",'%1|%2|%3|%4',TimeSheet."Digression Type"::Work, TimeSheet."Digression Type"::"Piece Rate", TimeSheet."Digression Type"::Tariff, TimeSheet."Digression Type"::Teenager); TimeSheet.CALCSUMS("Quantity Days"); FactTime := TimeSheet."Quantity Days"; IF FactTime = 0 THEN REPEAT // PS33077.begin EmployeeSalary."Starting Date Average Earnings" := CALCDATE('<-'+ FORMAT(HRSetUp."AE Calc Period") +'M>', EmployeeSalary."Starting Date Average Earnings"); EmployeeSalary."Ending Date Average Earnings" := CALCDATE('<+' + FORMAT(HRSetUp."AE Calc Period") +'M-1D>', EmployeeSalary."Starting Date Average Earnings"); TimeSheet.SETRANGE("Starting Date",EmployeeSalary."Starting Date Average Earnings", EmployeeSalary."Ending Date Average Earnings"); // PS33077.begin TimeSheet.CALCSUMS("Quantity Days"); FactTime := TimeSheet."Quantity Days"; StartAEPeriod := EmployeeSalary."Starting Date Average Earnings"; UNTIL (FactTime <> 0) OR (EmployeeSalary."Starting Date Average Earnings" <= CALCDATE('<CM>',Employee."Employment Date")); Код: EmployeeSalary."Starting Date Average Earnings" := CALCDATE('<-'+ FORMAT(HRSetUp."AE Calc Period") +'M>', EmployeeSalary."Starting Date Average Earnings"); |
|
27.08.2008, 13:17 | #25 |
MCTS
|
А она заполнена? В таблице 14813?
|
|
27.08.2008, 15:59 | #26 |
Участник
|
Это Дата Начала Периода СЗ... Таблица Emloyee Salary заполняется в момент учета приказа и если какое-то поле осталось пустым, то причину, как правило, надо искать там... Найдите тот учтенный приказ по которому была сформирована запись в Employee Salary и отмените его, а затем посмотрите в неучтенных, заполнены ли там поля Дата Начала Периода по СЗ и Дата Окончания Периода по СЗ (Starting Date и Ending Date кажется)... Вообще эти даты должны проставляться автоматом, когда пользователь создает и заполняет приказ, но в модуле расчета зарплаты так часто бывает... А потом и журнал не считается и отчеты не формируются
ЗЫ. Кстати правда, журнал на этого сотрудника и за это месяц тоже скорее всего не расчитается Если еще не разобрались, напишите тип приказа и код расчетного элемента |
|