Показать сообщение отдельно
Старый 28.05.2003, 18:02   #13  
AnGL is offline
AnGL
Участник
Аватар для AnGL
Сотрудники Microsoft Dynamics
 
111 / 45 (2) +++
Регистрация: 17.12.2002
Только, что проверил - все работает. И из карточки, и из списка измерения попадают в журнал зарплаты.

Вызов заполнения идет из отчета по расчету 14801, а сам перенос в Codeunit 14812

Триггер PayrollJnlInsertDimension(VAR PayrollJnlLine : Record "Payroll Journal Line")
//PayrollJnlInsertDimension

IF (Employee.GET(PayrollJnlLine."Employee No.")) AND
(PayrollJnlLine."Gen. Post Type" <> PayrollJnlLine."Gen. Post Type"::"Not Post") THEN BEGIN

DefaultDimension.RESET;
DefaultDimension.SETRANGE(DefaultDimension."Table ID",5200);
DefaultDimension.SETRANGE(DefaultDimension."No.",Employee."No.");
IF DefaultDimension.FIND('-') THEN REPEAT
JournalDimension.INIT;
JournalDimension."Table ID" := 14820;
JournalDimension."Journal Template Name" := PayrollJnlLine.Template;
JournalDimension."Journal Batch Name" := PayrollJnlLine."Batch Name";
JournalDimension."Journal Line No." := PayrollJnlLine."Line No.";
JournalDimension."Dimension Code" := DefaultDimension."Dimension Code";
JournalDimension."Dimension Value Code" := DefaultDimension."Dimension Value Code";
IF JournalDimension.INSERT THEN;

UNTIL DefaultDimension.NEXT = 0;
END;

IF PayrollElement.GET(PayrollJnlLine."Element Code") THEN BEGIN
DefaultDimension.RESET;
DefaultDimension.SETRANGE("Table ID",14800);
DefaultDimension.SETRANGE("No.",PayrollElement.Code);
IF DefaultDimension.FIND('-') THEN REPEAT
JournalDimension.INIT;
JournalDimension."Table ID" := 14820;
JournalDimension."Journal Template Name" := PayrollJnlLine.Template;
JournalDimension."Journal Batch Name" := PayrollJnlLine."Batch Name";
JournalDimension."Journal Line No." := PayrollJnlLine."Line No.";
JournalDimension."Dimension Code" := DefaultDimension."Dimension Code";
JournalDimension."Dimension Value Code" := DefaultDimension."Dimension Value Code";
IF NOT JournalDimension.INSERT THEN BEGIN
JournalDimension2.RESET;
JournalDimension2.SETRANGE("Table ID", 14820);
JournalDimension2.SETRANGE("Journal Template Name", PayrollJnlLine.Template);
JournalDimension2.SETRANGE("Journal Batch Name", PayrollJnlLine."Batch Name");
JournalDimension2.SETRANGE("Journal Line No.", PayrollJnlLine."Line No.");
JournalDimension2.SETRANGE("Dimension Code", DefaultDimension."Dimension Code");
IF JournalDimension2.FIND('-') THEN BEGIN
JournalDimension2."Dimension Value Code" := DefaultDimension."Dimension Value Code";
JournalDimension2.MODIFY;
END;
END;
UNTIL DefaultDimension.NEXT = 0;
END;