diff --git a/src/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CreatePurchAdvLetterCZZ.Report.al b/src/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CreatePurchAdvLetterCZZ.Report.al index f9fd5b66f04..c65abf5a049 100644 --- a/src/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CreatePurchAdvLetterCZZ.Report.al +++ b/src/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CreatePurchAdvLetterCZZ.Report.al @@ -7,6 +7,7 @@ namespace Microsoft.Finance.AdvancePayments; using Microsoft.Finance.Currency; using Microsoft.Purchases.Document; using Microsoft.Purchases.Posting; +using Microsoft.Purchases.Vendor; using System.Utilities; report 31029 "Create Purch. Adv. Letter CZZ" @@ -243,8 +244,13 @@ report 31029 "Create Purch. Adv. Letter CZZ" end; procedure SetPurchHeader(var NewPurchaseHeader: Record "Purchase Header") + var + Vendor: Record Vendor; begin NewPurchaseHeader.TestField("Document Type", NewPurchaseHeader."Document Type"::Order); + Vendor.Get(NewPurchaseHeader."Pay-to Vendor No."); + Vendor.CheckBlockedVendOnAdvanceLettersCZZ(false); + PurchaseHeader := NewPurchaseHeader; PurchPost.GetPurchLines(PurchaseHeader, TempPurchaseLine, 0); TempPurchaseLine.CalcSums("Amount Including VAT"); diff --git a/src/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CreateSalesAdvLetterCZZ.Report.al b/src/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CreateSalesAdvLetterCZZ.Report.al index fb6557eb3ec..f8cfa2bce9a 100644 --- a/src/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CreateSalesAdvLetterCZZ.Report.al +++ b/src/Apps/CZ/AdvancePaymentsLocalization/app/Src/Reports/CreateSalesAdvLetterCZZ.Report.al @@ -7,6 +7,7 @@ namespace Microsoft.Finance.AdvancePayments; using Microsoft.Finance.Currency; using Microsoft.Projects.Project.Job; using Microsoft.Projects.Project.Planning; +using Microsoft.Sales.Customer; using Microsoft.Sales.Document; using Microsoft.Sales.Posting; using System.Utilities; @@ -405,8 +406,13 @@ report 31012 "Create Sales Adv. Letter CZZ" end; procedure SetSalesHeader(var NewSalesHeader: Record "Sales Header") + var + Customer: Record Customer; begin NewSalesHeader.TestField("Document Type", NewSalesHeader."Document Type"::Order); + Customer.Get(NewSalesHeader."Bill-to Customer No."); + Customer.CheckBlockedCustOnAdvanceLettersCZZ(false); + SourceSalesHeader := NewSalesHeader; SalesPost.GetSalesLines(SourceSalesHeader, TempSalesLine, 0); TempSalesLine.CalcSums("Amount Including VAT"); diff --git a/src/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CustomerCZZ.TableExt.al b/src/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CustomerCZZ.TableExt.al index 25da6101a9b..9e05eb00163 100644 --- a/src/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CustomerCZZ.TableExt.al +++ b/src/Apps/CZ/AdvancePaymentsLocalization/app/Src/TableExtensions/CustomerCZZ.TableExt.al @@ -26,7 +26,7 @@ tableextension 31045 "Customer CZZ" extends Customer if "Privacy Blocked" then CustPrivacyBlockedErrorMessage(Rec, Transaction); - if Blocked <> Blocked::" " then + if Blocked in [Blocked::All, Blocked::Invoice] then CustBlockedErrorMessage(Rec, Transaction); end; } diff --git a/src/Apps/CZ/AdvancePaymentsLocalization/test/Src/SalesAdvancePaymentsCZZ.Codeunit.al b/src/Apps/CZ/AdvancePaymentsLocalization/test/Src/SalesAdvancePaymentsCZZ.Codeunit.al index b33009a6dfe..dd79d99df79 100644 --- a/src/Apps/CZ/AdvancePaymentsLocalization/test/Src/SalesAdvancePaymentsCZZ.Codeunit.al +++ b/src/Apps/CZ/AdvancePaymentsLocalization/test/Src/SalesAdvancePaymentsCZZ.Codeunit.al @@ -2835,9 +2835,14 @@ codeunit 148109 "Sales Advance Payments CZZ" CreateBlockedCustomer(Customer, CustomerBlocked, PrivacyBlocked); // [WHEN] Create sales advance letter with blocked customer - asserterror LibrarySalesAdvancesCZZ.CreateSalesAdvLetterHeader(SalesAdvLetterHeaderCZZ, AdvanceLetterTemplateCZZ.Code, Customer."No.", ''); + if (CustomerBlocked = CustomerBlocked::Ship) and not PrivacyBlocked then + LibrarySalesAdvancesCZZ.CreateSalesAdvLetterHeader(SalesAdvLetterHeaderCZZ, AdvanceLetterTemplateCZZ.Code, Customer."No.", '') + else + asserterror LibrarySalesAdvancesCZZ.CreateSalesAdvLetterHeader(SalesAdvLetterHeaderCZZ, AdvanceLetterTemplateCZZ.Code, Customer."No.", ''); - // [THEN] Error will occur + // [THEN] Error will occur when customer is blocked except when shipping is allowed + if (CustomerBlocked = CustomerBlocked::Ship) and not PrivacyBlocked then + exit; if PrivacyBlocked then Assert.ExpectedError(StrSubstNo(PrivacyBlockedCustomerErr, 'create', Customer."No.")) else @@ -2875,9 +2880,14 @@ codeunit 148109 "Sales Advance Payments CZZ" Customer.Modify(true); // [WHEN] Post sales advance payment - asserterror LibrarySalesAdvancesCZZ.PostSalesAdvancePayment(GenJournalLine); + if (CustomerBlocked = CustomerBlocked::Ship) and not PrivacyBlocked then + LibrarySalesAdvancesCZZ.PostSalesAdvancePayment(GenJournalLine) + else + asserterror LibrarySalesAdvancesCZZ.PostSalesAdvancePayment(GenJournalLine); - // [THEN] Error will occur + // [THEN] Error will occur when customer is blocked except when shipping is allowed + if (CustomerBlocked = CustomerBlocked::Ship) and not PrivacyBlocked then + exit; if PrivacyBlocked then Assert.ExpectedError(StrSubstNo(PrivacyBlockedCustomerErr, 'post', Customer."No.")) else