From 4094b2d2f7521bafb5174560996564fd9da602db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Holu=C5=A1a?= Date: Mon, 20 Jul 2026 10:16:58 +0200 Subject: [PATCH] Add approval check before manual release of purchase advance letters --- .../RelPurchAdvLetterDocCZZ.Codeunit.al | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/RelPurchAdvLetterDocCZZ.Codeunit.al b/src/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/RelPurchAdvLetterDocCZZ.Codeunit.al index 4f3e94f4b2b..5235d7bdf4d 100644 --- a/src/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/RelPurchAdvLetterDocCZZ.Codeunit.al +++ b/src/Apps/CZ/AdvancePaymentsLocalization/app/Src/Codeunits/RelPurchAdvLetterDocCZZ.Codeunit.al @@ -70,18 +70,27 @@ codeunit 31018 "Rel. Purch.Adv.Letter Doc. CZZ" end; procedure PerformManualRelease(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ") + begin + CheckPurchaseAdvanceLetterPendingApproval(PurchAdvLetterHeaderCZZ); + Codeunit.Run(Codeunit::"Rel. Purch.Adv.Letter Doc. CZZ", PurchAdvLetterHeaderCZZ); + end; + + local procedure CheckPurchaseAdvanceLetterPendingApproval(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ") var AdvPaymentsApprovMgtCZZ: Codeunit "Adv. Payments Approv. Mgt. CZZ"; + IsHandled: Boolean; begin + IsHandled := false; + OnBeforeCheckPurchaseAdvanceLetterPendingApproval(PurchAdvLetterHeaderCZZ, IsHandled); + if IsHandled then + exit; + if AdvPaymentsApprovMgtCZZ.IsPurchaseAdvanceLetterApprovalsWorkflowEnabled(PurchAdvLetterHeaderCZZ) and (PurchAdvLetterHeaderCZZ.Status = PurchAdvLetterHeaderCZZ.Status::New) then Error(ApprovalProcessReleaseErr); - - Codeunit.Run(Codeunit::"Rel. Purch.Adv.Letter Doc. CZZ", PurchAdvLetterHeaderCZZ); end; - procedure Reopen(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ") var PurchAdvLetterManagementCZZ: Codeunit "PurchAdvLetterManagement CZZ"; @@ -174,4 +183,9 @@ codeunit 31018 "Rel. Purch.Adv.Letter Doc. CZZ" local procedure OnBeforeCheckDocumentTotalAmounts(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; var IsHandled: Boolean) begin end; + + [IntegrationEvent(false, false)] + local procedure OnBeforeCheckPurchaseAdvanceLetterPendingApproval(var PurchAdvLetterHeaderCZZ: Record "Purch. Adv. Letter Header CZZ"; var IsHandled: Boolean) + begin + end; }