Codeunit 204 Alt. Cust. VAT Reg. Cons.Impl., source in 29
Source29
src/Layers/W1/BaseApp/Finance/VAT/Registration/AltCustVATRegConsImpl.Codeunit.al52 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.Finance.VAT.Registration;
using Microsoft.Sales.Customer;
using System.Utilities;
codeunit 204 "Alt. Cust. VAT Reg. Cons.Impl." implements "Alt. Cust. VAT Reg. Consist."
{
Access = Internal;
InherentEntitlements = X;
InherentPermissions = X;
var
CountryCodeMatchesCustomerErr: Label 'You cannot have the same VAT Country/Region Code as the Customer Country/Region Code';
InconsistentSetupErr: Label 'Not possible to have Alternative Customer VAT Registration with the same Customer No. and VAT Country/Region Code';
ChangeCountryOfCustQst: Label 'There is an alternative customer VAT registration with the same country/region code that is not allowed. Do you want to change the country/region code in the customer card and remove the alternative customer VAT registration?';
procedure CheckAltCustVATRegConsistent(AltCustVATReg: Record "Alt. Cust. VAT Reg.")
var
ExistingAltCustVATReg: Record "Alt. Cust. VAT Reg.";
Customer: Record Customer;
begin
AltCustVATReg.TestField("Customer No.");
AltCustVATReg.TestField("VAT Country/Region Code");
Customer.SetLoadFields("Country/Region Code");
Customer.Get(AltCustVATReg."Customer No.");
if AltCustVATReg."VAT Country/Region Code" = Customer."Country/Region Code" then
error(CountryCodeMatchesCustomerErr);
ExistingAltCustVATReg.SetFilter(Id, '<>%1', AltCustVATReg.Id);
ExistingAltCustVATReg.SetRange("Customer No.", AltCustVATReg."Customer No.");
ExistingAltCustVATReg.SetRange("VAT Country/Region Code", AltCustVATReg."VAT Country/Region Code");
if not ExistingAltCustVATReg.IsEmpty() then
error(InconsistentSetupErr);
end;
procedure CheckCustomerConsistency(Customer: Record Customer)
var
AltCustVATReg: Record "Alt. Cust. VAT Reg.";
ConfirmManagement: Codeunit "Confirm Management";
begin
AltCustVATReg.SetRange("Customer No.", Customer."No.");
AltCustVATReg.SetRange("VAT Country/Region Code", Customer."Country/Region Code");
if AltCustVATReg.IsEmpty() then
exit;
if not ConfirmManagement.GetResponse(ChangeCountryOfCustQst, false) then
error('');
AltCustVATReg.DeleteAll(true);
end;
}