From 81b955b9b1b67e4a7c7fffdaa5a187a1c2451d8b Mon Sep 17 00:00:00 2001 From: MarkoAleksandric Date: Tue, 14 Jul 2026 17:23:10 +0200 Subject: [PATCH] Ext fix issue 30290: Add OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader event Add an IsHandled integration event before the AltCustVATRegFacade VAT registration setup call in SetBillToCustomerAddressFieldsFromCustomer so subscribers can skip the standard logic. Propagated across all layers. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../BaseApp/Sales/Document/SalesHeader.Table.al | 16 +++++++++++++++- .../BaseApp/Sales/Document/SalesHeader.Table.al | 16 +++++++++++++++- .../BaseApp/Sales/Document/SalesHeader.Table.al | 16 +++++++++++++++- .../BaseApp/Sales/Document/SalesHeader.Table.al | 16 +++++++++++++++- .../BaseApp/Sales/Document/SalesHeader.Table.al | 16 +++++++++++++++- .../BaseApp/Sales/Document/SalesHeader.Table.al | 16 +++++++++++++++- .../BaseApp/Sales/Document/SalesHeader.Table.al | 16 +++++++++++++++- .../BaseApp/Sales/Document/SalesHeader.Table.al | 16 +++++++++++++++- .../BaseApp/Sales/Document/SalesHeader.Table.al | 16 +++++++++++++++- .../BaseApp/Sales/Document/SalesHeader.Table.al | 16 +++++++++++++++- .../BaseApp/Sales/Document/SalesHeader.Table.al | 16 +++++++++++++++- .../BaseApp/Sales/Document/SalesHeader.Table.al | 16 +++++++++++++++- .../BaseApp/Sales/Document/SalesHeader.Table.al | 16 +++++++++++++++- .../BaseApp/Sales/Document/SalesHeader.Table.al | 16 +++++++++++++++- .../BaseApp/Sales/Document/SalesHeader.Table.al | 16 +++++++++++++++- 15 files changed, 225 insertions(+), 15 deletions(-) diff --git a/src/Layers/APAC/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/APAC/BaseApp/Sales/Document/SalesHeader.Table.al index 06e6272a1a..8e05044e34 100644 --- a/src/Layers/APAC/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/APAC/BaseApp/Sales/Document/SalesHeader.Table.al @@ -8138,7 +8138,10 @@ table 36 "Sales Header" end else "Payment Method Code" := BillToCustomer."Payment Method Code"; - AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); + IsHandled := false; + OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, BillToCustomer, IsHandled); + if not IsHandled then + AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); "Tax Document Type" := BillToCustomer."Tax Document Type"; "WHT Business Posting Group" := BillToCustomer."WHT Business Posting Group"; @@ -10525,6 +10528,17 @@ table 36 "Sales Header" begin end; + /// + /// Raised before updating the VAT registration setup on a bill-to customer change in the sales header. + /// + /// The sales header record being modified. + /// The bill-to customer record. + /// Set to true to skip the standard update of the VAT registration setup. + [IntegrationEvent(false, false)] + local procedure OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(var SalesHeader: Record "Sales Header"; BillToCustomer: Record Customer; var IsHandled: Boolean) + begin + end; + /// /// Raised after extended text is transferred for sales line recreation. /// diff --git a/src/Layers/BE/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/BE/BaseApp/Sales/Document/SalesHeader.Table.al index 5356681641..429f2b2832 100644 --- a/src/Layers/BE/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/BE/BaseApp/Sales/Document/SalesHeader.Table.al @@ -8001,7 +8001,10 @@ table 36 "Sales Header" end else "Payment Method Code" := BillToCustomer."Payment Method Code"; - AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); + IsHandled := false; + OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, BillToCustomer, IsHandled); + if not IsHandled then + AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); "Customer Posting Group" := BillToCustomer."Customer Posting Group"; "Currency Code" := BillToCustomer."Currency Code"; @@ -10386,6 +10389,17 @@ table 36 "Sales Header" begin end; + /// + /// Raised before updating the VAT registration setup on a bill-to customer change in the sales header. + /// + /// The sales header record being modified. + /// The bill-to customer record. + /// Set to true to skip the standard update of the VAT registration setup. + [IntegrationEvent(false, false)] + local procedure OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(var SalesHeader: Record "Sales Header"; BillToCustomer: Record Customer; var IsHandled: Boolean) + begin + end; + /// /// Raised after extended text is transferred for sales line recreation. /// diff --git a/src/Layers/CH/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/CH/BaseApp/Sales/Document/SalesHeader.Table.al index a80a925abb..42178a1cb7 100644 --- a/src/Layers/CH/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/CH/BaseApp/Sales/Document/SalesHeader.Table.al @@ -8030,7 +8030,10 @@ table 36 "Sales Header" end else "Payment Method Code" := BillToCustomer."Payment Method Code"; - AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); + IsHandled := false; + OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, BillToCustomer, IsHandled); + if not IsHandled then + AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); "Customer Posting Group" := BillToCustomer."Customer Posting Group"; "Currency Code" := BillToCustomer."Currency Code"; @@ -10441,6 +10444,17 @@ table 36 "Sales Header" begin end; + /// + /// Raised before updating the VAT registration setup on a bill-to customer change in the sales header. + /// + /// The sales header record being modified. + /// The bill-to customer record. + /// Set to true to skip the standard update of the VAT registration setup. + [IntegrationEvent(false, false)] + local procedure OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(var SalesHeader: Record "Sales Header"; BillToCustomer: Record Customer; var IsHandled: Boolean) + begin + end; + /// /// Raised after extended text is transferred for sales line recreation. /// diff --git a/src/Layers/CZ/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/CZ/BaseApp/Sales/Document/SalesHeader.Table.al index 326436a8fa..6053a97d51 100644 --- a/src/Layers/CZ/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/CZ/BaseApp/Sales/Document/SalesHeader.Table.al @@ -7971,7 +7971,10 @@ table 36 "Sales Header" end else "Payment Method Code" := BillToCustomer."Payment Method Code"; - AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); + IsHandled := false; + OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, BillToCustomer, IsHandled); + if not IsHandled then + AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); "Customer Posting Group" := BillToCustomer."Customer Posting Group"; "Currency Code" := BillToCustomer."Currency Code"; @@ -10356,6 +10359,17 @@ table 36 "Sales Header" begin end; + /// + /// Raised before updating the VAT registration setup on a bill-to customer change in the sales header. + /// + /// The sales header record being modified. + /// The bill-to customer record. + /// Set to true to skip the standard update of the VAT registration setup. + [IntegrationEvent(false, false)] + local procedure OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(var SalesHeader: Record "Sales Header"; BillToCustomer: Record Customer; var IsHandled: Boolean) + begin + end; + /// /// Raised after extended text is transferred for sales line recreation. /// diff --git a/src/Layers/ES/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/ES/BaseApp/Sales/Document/SalesHeader.Table.al index f8a90897fe..cd065df9fe 100644 --- a/src/Layers/ES/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/ES/BaseApp/Sales/Document/SalesHeader.Table.al @@ -8096,7 +8096,10 @@ table 36 "Sales Header" end else "Payment Method Code" := BillToCustomer."Payment Method Code"; - AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); + IsHandled := false; + OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, BillToCustomer, IsHandled); + if not IsHandled then + AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); "Customer Posting Group" := BillToCustomer."Customer Posting Group"; "Currency Code" := BillToCustomer."Currency Code"; @@ -10515,6 +10518,17 @@ table 36 "Sales Header" begin end; + /// + /// Raised before updating the VAT registration setup on a bill-to customer change in the sales header. + /// + /// The sales header record being modified. + /// The bill-to customer record. + /// Set to true to skip the standard update of the VAT registration setup. + [IntegrationEvent(false, false)] + local procedure OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(var SalesHeader: Record "Sales Header"; BillToCustomer: Record Customer; var IsHandled: Boolean) + begin + end; + /// /// Raised after extended text is transferred for sales line recreation. /// diff --git a/src/Layers/FI/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/FI/BaseApp/Sales/Document/SalesHeader.Table.al index 72e1b35541..923f588242 100644 --- a/src/Layers/FI/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/FI/BaseApp/Sales/Document/SalesHeader.Table.al @@ -7971,7 +7971,10 @@ table 36 "Sales Header" end else "Payment Method Code" := BillToCustomer."Payment Method Code"; - AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); + IsHandled := false; + OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, BillToCustomer, IsHandled); + if not IsHandled then + AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); "Customer Posting Group" := BillToCustomer."Customer Posting Group"; "Currency Code" := BillToCustomer."Currency Code"; @@ -10356,6 +10359,17 @@ table 36 "Sales Header" begin end; + /// + /// Raised before updating the VAT registration setup on a bill-to customer change in the sales header. + /// + /// The sales header record being modified. + /// The bill-to customer record. + /// Set to true to skip the standard update of the VAT registration setup. + [IntegrationEvent(false, false)] + local procedure OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(var SalesHeader: Record "Sales Header"; BillToCustomer: Record Customer; var IsHandled: Boolean) + begin + end; + /// /// Raised after extended text is transferred for sales line recreation. /// diff --git a/src/Layers/FR/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/FR/BaseApp/Sales/Document/SalesHeader.Table.al index 67c35c5199..c3dd0c7a4d 100644 --- a/src/Layers/FR/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/FR/BaseApp/Sales/Document/SalesHeader.Table.al @@ -7975,7 +7975,10 @@ table 36 "Sales Header" end else "Payment Method Code" := BillToCustomer."Payment Method Code"; - AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); + IsHandled := false; + OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, BillToCustomer, IsHandled); + if not IsHandled then + AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); "Customer Posting Group" := BillToCustomer."Customer Posting Group"; "Currency Code" := BillToCustomer."Currency Code"; @@ -10360,6 +10363,17 @@ table 36 "Sales Header" begin end; + /// + /// Raised before updating the VAT registration setup on a bill-to customer change in the sales header. + /// + /// The sales header record being modified. + /// The bill-to customer record. + /// Set to true to skip the standard update of the VAT registration setup. + [IntegrationEvent(false, false)] + local procedure OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(var SalesHeader: Record "Sales Header"; BillToCustomer: Record Customer; var IsHandled: Boolean) + begin + end; + /// /// Raised after extended text is transferred for sales line recreation. /// diff --git a/src/Layers/GB/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/GB/BaseApp/Sales/Document/SalesHeader.Table.al index 326436a8fa..6053a97d51 100644 --- a/src/Layers/GB/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/GB/BaseApp/Sales/Document/SalesHeader.Table.al @@ -7971,7 +7971,10 @@ table 36 "Sales Header" end else "Payment Method Code" := BillToCustomer."Payment Method Code"; - AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); + IsHandled := false; + OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, BillToCustomer, IsHandled); + if not IsHandled then + AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); "Customer Posting Group" := BillToCustomer."Customer Posting Group"; "Currency Code" := BillToCustomer."Currency Code"; @@ -10356,6 +10359,17 @@ table 36 "Sales Header" begin end; + /// + /// Raised before updating the VAT registration setup on a bill-to customer change in the sales header. + /// + /// The sales header record being modified. + /// The bill-to customer record. + /// Set to true to skip the standard update of the VAT registration setup. + [IntegrationEvent(false, false)] + local procedure OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(var SalesHeader: Record "Sales Header"; BillToCustomer: Record Customer; var IsHandled: Boolean) + begin + end; + /// /// Raised after extended text is transferred for sales line recreation. /// diff --git a/src/Layers/IT/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/IT/BaseApp/Sales/Document/SalesHeader.Table.al index d887a42dfa..118a2c3d3d 100644 --- a/src/Layers/IT/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/IT/BaseApp/Sales/Document/SalesHeader.Table.al @@ -8712,7 +8712,10 @@ table 36 "Sales Header" end else "Payment Method Code" := BillToCustomer."Payment Method Code"; - AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); + IsHandled := false; + OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, BillToCustomer, IsHandled); + if not IsHandled then + AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); if not CheckVATExemption() then FieldError("Bill-to Customer No."); @@ -11087,6 +11090,17 @@ table 36 "Sales Header" begin end; + /// + /// Raised before updating the VAT registration setup on a bill-to customer change in the sales header. + /// + /// The sales header record being modified. + /// The bill-to customer record. + /// Set to true to skip the standard update of the VAT registration setup. + [IntegrationEvent(false, false)] + local procedure OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(var SalesHeader: Record "Sales Header"; BillToCustomer: Record Customer; var IsHandled: Boolean) + begin + end; + /// /// Raised after extended text is transferred for sales line recreation. /// diff --git a/src/Layers/NA/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/NA/BaseApp/Sales/Document/SalesHeader.Table.al index d6fa4ba1a6..e787e2de56 100644 --- a/src/Layers/NA/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/NA/BaseApp/Sales/Document/SalesHeader.Table.al @@ -8245,7 +8245,10 @@ table 36 "Sales Header" end else "Payment Method Code" := BillToCustomer."Payment Method Code"; - AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); + IsHandled := false; + OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, BillToCustomer, IsHandled); + if not IsHandled then + AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); "Customer Posting Group" := BillToCustomer."Customer Posting Group"; "Currency Code" := BillToCustomer."Currency Code"; @@ -10670,6 +10673,17 @@ table 36 "Sales Header" begin end; + /// + /// Raised before updating the VAT registration setup on a bill-to customer change in the sales header. + /// + /// The sales header record being modified. + /// The bill-to customer record. + /// Set to true to skip the standard update of the VAT registration setup. + [IntegrationEvent(false, false)] + local procedure OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(var SalesHeader: Record "Sales Header"; BillToCustomer: Record Customer; var IsHandled: Boolean) + begin + end; + /// /// Raised after extended text is transferred for sales line recreation. /// diff --git a/src/Layers/NL/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/NL/BaseApp/Sales/Document/SalesHeader.Table.al index bca6498c70..f1468c3817 100644 --- a/src/Layers/NL/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/NL/BaseApp/Sales/Document/SalesHeader.Table.al @@ -7995,7 +7995,10 @@ table 36 "Sales Header" end else "Payment Method Code" := BillToCustomer."Payment Method Code"; - AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); + IsHandled := false; + OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, BillToCustomer, IsHandled); + if not IsHandled then + AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); "Customer Posting Group" := BillToCustomer."Customer Posting Group"; "Currency Code" := BillToCustomer."Currency Code"; @@ -10382,6 +10385,17 @@ table 36 "Sales Header" begin end; + /// + /// Raised before updating the VAT registration setup on a bill-to customer change in the sales header. + /// + /// The sales header record being modified. + /// The bill-to customer record. + /// Set to true to skip the standard update of the VAT registration setup. + [IntegrationEvent(false, false)] + local procedure OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(var SalesHeader: Record "Sales Header"; BillToCustomer: Record Customer; var IsHandled: Boolean) + begin + end; + /// /// Raised after extended text is transferred for sales line recreation. /// diff --git a/src/Layers/NO/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/NO/BaseApp/Sales/Document/SalesHeader.Table.al index ae96fcb30d..410e358518 100644 --- a/src/Layers/NO/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/NO/BaseApp/Sales/Document/SalesHeader.Table.al @@ -8062,7 +8062,10 @@ table 36 "Sales Header" end else "Payment Method Code" := BillToCustomer."Payment Method Code"; - AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); + IsHandled := false; + OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, BillToCustomer, IsHandled); + if not IsHandled then + AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); "Customer Posting Group" := BillToCustomer."Customer Posting Group"; "Currency Code" := BillToCustomer."Currency Code"; @@ -10447,6 +10450,17 @@ table 36 "Sales Header" begin end; + /// + /// Raised before updating the VAT registration setup on a bill-to customer change in the sales header. + /// + /// The sales header record being modified. + /// The bill-to customer record. + /// Set to true to skip the standard update of the VAT registration setup. + [IntegrationEvent(false, false)] + local procedure OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(var SalesHeader: Record "Sales Header"; BillToCustomer: Record Customer; var IsHandled: Boolean) + begin + end; + /// /// Raised after extended text is transferred for sales line recreation. /// diff --git a/src/Layers/RU/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/RU/BaseApp/Sales/Document/SalesHeader.Table.al index b5f88f8f21..8a19f01873 100644 --- a/src/Layers/RU/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/RU/BaseApp/Sales/Document/SalesHeader.Table.al @@ -8480,7 +8480,10 @@ table 36 "Sales Header" end else "Payment Method Code" := BillToCustomer."Payment Method Code"; - AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); + IsHandled := false; + OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, BillToCustomer, IsHandled); + if not IsHandled then + AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); "Customer Posting Group" := BillToCustomer."Customer Posting Group"; "Currency Code" := BillToCustomer."Currency Code"; @@ -10875,6 +10878,17 @@ table 36 "Sales Header" begin end; + /// + /// Raised before updating the VAT registration setup on a bill-to customer change in the sales header. + /// + /// The sales header record being modified. + /// The bill-to customer record. + /// Set to true to skip the standard update of the VAT registration setup. + [IntegrationEvent(false, false)] + local procedure OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(var SalesHeader: Record "Sales Header"; BillToCustomer: Record Customer; var IsHandled: Boolean) + begin + end; + /// /// Raised after extended text is transferred for sales line recreation. /// diff --git a/src/Layers/SE/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/SE/BaseApp/Sales/Document/SalesHeader.Table.al index 0a6aed9c4a..84e6688a24 100644 --- a/src/Layers/SE/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/SE/BaseApp/Sales/Document/SalesHeader.Table.al @@ -8000,7 +8000,10 @@ table 36 "Sales Header" end else "Payment Method Code" := BillToCustomer."Payment Method Code"; - AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); + IsHandled := false; + OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, BillToCustomer, IsHandled); + if not IsHandled then + AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); "Customer Posting Group" := BillToCustomer."Customer Posting Group"; "Currency Code" := BillToCustomer."Currency Code"; @@ -10385,6 +10388,17 @@ table 36 "Sales Header" begin end; + /// + /// Raised before updating the VAT registration setup on a bill-to customer change in the sales header. + /// + /// The sales header record being modified. + /// The bill-to customer record. + /// Set to true to skip the standard update of the VAT registration setup. + [IntegrationEvent(false, false)] + local procedure OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(var SalesHeader: Record "Sales Header"; BillToCustomer: Record Customer; var IsHandled: Boolean) + begin + end; + /// /// Raised after extended text is transferred for sales line recreation. /// diff --git a/src/Layers/W1/BaseApp/Sales/Document/SalesHeader.Table.al b/src/Layers/W1/BaseApp/Sales/Document/SalesHeader.Table.al index cb937f3980..352dac0e53 100644 --- a/src/Layers/W1/BaseApp/Sales/Document/SalesHeader.Table.al +++ b/src/Layers/W1/BaseApp/Sales/Document/SalesHeader.Table.al @@ -7971,7 +7971,10 @@ table 36 "Sales Header" end else "Payment Method Code" := BillToCustomer."Payment Method Code"; - AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); + IsHandled := false; + OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, BillToCustomer, IsHandled); + if not IsHandled then + AltCustVATRegFacade.UpdateSetupOnBillToCustomerChangeInSalesHeader(Rec, xRec, BillToCustomer); "Customer Posting Group" := BillToCustomer."Customer Posting Group"; "Currency Code" := BillToCustomer."Currency Code"; @@ -10356,6 +10359,17 @@ table 36 "Sales Header" begin end; + /// + /// Raised before updating the VAT registration setup on a bill-to customer change in the sales header. + /// + /// The sales header record being modified. + /// The bill-to customer record. + /// Set to true to skip the standard update of the VAT registration setup. + [IntegrationEvent(false, false)] + local procedure OnBeforeUpdateSetupOnBillToCustomerChangeInSalesHeader(var SalesHeader: Record "Sales Header"; BillToCustomer: Record Customer; var IsHandled: Boolean) + begin + end; + /// /// Raised after extended text is transferred for sales line recreation. ///