Codeunit 112 Empl. Entry-SetAppl.ID, source in 29
Source29
src/Layers/W1/BaseApp/HumanResources/Payables/EmplEntrySetApplID.Codeunit.al72 lines, Copyright (c) Microsoft Corporation. MIT
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------
namespace Microsoft.HumanResources.Payables;
codeunit 112 "Empl. Entry-SetAppl.ID"
{
Permissions = TableData "Employee Ledger Entry" = rimd;
trigger OnRun()
begin
end;
var
EmplEntryApplID: Code[50];
procedure SetApplId(var EmplLedgEntry: Record "Employee Ledger Entry"; ApplyingEmplLedgEntry: Record "Employee Ledger Entry"; AppliesToID: Code[50])
var
TempEmplLedgEntry: Record "Employee Ledger Entry" temporary;
EmplLedgEntryToUpdate: Record "Employee Ledger Entry";
begin
EmplLedgEntry.LockTable();
if EmplLedgEntry.FindSet() then begin
// Make Applies-to ID
if EmplLedgEntry."Applies-to ID" <> '' then
EmplEntryApplID := ''
else begin
EmplEntryApplID := AppliesToID;
if EmplEntryApplID = '' then begin
EmplEntryApplID := CopyStr(UserId(), 1, 50);
if EmplEntryApplID = '' then
EmplEntryApplID := '***';
end;
end;
repeat
TempEmplLedgEntry := EmplLedgEntry;
TempEmplLedgEntry.Insert();
until EmplLedgEntry.Next() = 0;
end;
if TempEmplLedgEntry.FindSet() then
repeat
EmplLedgEntryToUpdate.Copy(TempEmplLedgEntry);
EmplLedgEntryToUpdate.TestField(Open, true);
EmplLedgEntryToUpdate."Applies-to ID" := EmplEntryApplID;
if ((EmplLedgEntryToUpdate."Amount to Apply" <> 0) and (EmplEntryApplID = '')) or
(EmplEntryApplID = '')
then
EmplLedgEntryToUpdate."Amount to Apply" := 0
else
if EmplLedgEntryToUpdate."Amount to Apply" = 0 then begin
EmplLedgEntryToUpdate.CalcFields("Remaining Amount");
if EmplLedgEntryToUpdate."Remaining Amount" <> 0 then
EmplLedgEntryToUpdate."Amount to Apply" := EmplLedgEntryToUpdate."Remaining Amount";
end;
if EmplLedgEntryToUpdate."Entry No." = ApplyingEmplLedgEntry."Entry No." then
EmplLedgEntryToUpdate."Applying Entry" := ApplyingEmplLedgEntry."Applying Entry";
EmplLedgEntryToUpdate.Modify();
OnSetApplIdOnAfterEmplLedgEntryToUpdateModify(EmplLedgEntryToUpdate, TempEmplLedgEntry, ApplyingEmplLedgEntry, AppliesToID);
until TempEmplLedgEntry.Next() = 0;
end;
[IntegrationEvent(false, false)]
local procedure OnSetApplIdOnAfterEmplLedgEntryToUpdateModify(var EmplLedgerEntry: Record "Employee Ledger Entry"; var TempEmplLedgEntry: Record "Employee Ledger Entry" temporary; ApplyingEmplLedgEntry: Record "Employee Ledger Entry"; AppliesToID: Code[50])
begin
end;
}