|
|
|
|
#1 |
|
Участник
|
|
|
|
|
|
#2 |
|
Участник
|
У меня запись такого вида:
Код: 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]; |
|
|
|
|
#3 |
|
MCTS
|
А на какой строке ошибка с расчетом даты? дебаггер активизирован?
|
|
|
|
|
#4 |
|
Участник
|
Теперь в функции 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"); |
|
|
|
|
#5 |
|
MCTS
|
А она заполнена? В таблице 14813?
|
|
|
|
|
#6 |
|
Участник
|
Это Дата Начала Периода СЗ... Таблица Emloyee Salary заполняется в момент учета приказа и если какое-то поле осталось пустым, то причину, как правило, надо искать там... Найдите тот учтенный приказ по которому была сформирована запись в Employee Salary и отмените его, а затем посмотрите в неучтенных, заполнены ли там поля Дата Начала Периода по СЗ и Дата Окончания Периода по СЗ (Starting Date и Ending Date кажется)... Вообще эти даты должны проставляться автоматом, когда пользователь создает и заполняет приказ, но в модуле расчета зарплаты так часто бывает... А потом и журнал не считается и отчеты не формируются
![]() ЗЫ. Кстати правда, журнал на этого сотрудника и за это месяц тоже скорее всего не расчитается Если еще не разобрались, напишите тип приказа и код расчетного элемента
|
|
|