Page 476 Copy Tax Setup
- App
- Base Application
- Namespace
- Microsoft.Finance.SalesTax
- Versions
- 17-28
Versions171819202122232425262728
Source29
Source in 29
src/Layers/W1/BaseApp/Finance/SalesTax/CopyTaxSetup.Page.al203 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.SalesTax;
using Microsoft.Foundation.Company;
using System.Environment;
/// <summary>
/// Wizard page for copying tax configuration data from another company.
/// Enables selective migration of tax setup including groups, jurisdictions, areas, and details.
/// </summary>
page 476 "Copy Tax Setup"
{
ApplicationArea = SalesTax;
Caption = 'Copy Tax Setup';
PageType = StandardDialog;
UsageCategory = Administration;
layout
{
area(content)
{
group(Control1)
{
ShowCaption = false;
field("SourceCompany.Name"; SourceCompany.Name)
{
ApplicationArea = SalesTax;
Caption = 'From Company';
Lookup = true;
LookupPageID = Companies;
trigger OnLookup(var Text: Text): Boolean
begin
SourceCompany.SetFilter(Name, '<>%1', CompanyName);
if PAGE.RunModal(PAGE::Companies, SourceCompany) = ACTION::LookupOK then
if SourceCompany.Name = CompanyName then begin
SourceCompany.Name := '';
Error(Text000);
end;
end;
}
field(CopyMode; CopyMode)
{
ApplicationArea = SalesTax;
OptionCaption = 'Copy All Setup Information,Copy Selected Information:';
ShowCaption = false;
trigger OnValidate()
begin
if CopyMode = CopyMode::Custom then
CustomCopyModeOnValidate();
if CopyMode = CopyMode::All then
AllCopyModeOnValidate();
end;
}
field(TaxGroups; CopyTable[1])
{
ApplicationArea = SalesTax;
Caption = 'Tax Groups';
Enabled = TaxGroupsEnable;
trigger OnValidate()
begin
CopyTable1OnPush();
end;
}
field(TaxJurisdictions; CopyTable[2])
{
ApplicationArea = SalesTax;
Caption = 'Tax Jurisdictions';
Enabled = TaxJurisdictionsEnable;
trigger OnValidate()
begin
CopyTable2OnPush();
end;
}
field(TaxAreas; CopyTable[3])
{
ApplicationArea = SalesTax;
Caption = 'Tax Areas';
Enabled = TaxAreasEnable;
trigger OnValidate()
begin
CopyTable3OnPush();
end;
}
field(TaxDetail; CopyTable[4])
{
ApplicationArea = SalesTax;
Caption = 'Tax Detail';
Enabled = TaxDetailEnable;
trigger OnValidate()
begin
CopyTable4OnPush();
end;
}
}
}
}
actions
{
}
trigger OnInit()
begin
TaxDetailEnable := true;
TaxAreasEnable := true;
TaxJurisdictionsEnable := true;
TaxGroupsEnable := true;
end;
trigger OnOpenPage()
begin
for i := 1 to ArrayLen(CopyTable) do
CopyTable[i] := true;
end;
trigger OnQueryClosePage(CloseAction: Action): Boolean
begin
if CloseAction in [ACTION::OK, ACTION::LookupOK] then
OKOnPush();
end;
var
SourceCompany: Record Company;
CopyTaxSetup: Codeunit "Copy Tax Setup From Company";
CopyTable: array[4] of Boolean;
i: Integer;
CopyMode: Option All,Custom;
TaxGroupsEnable: Boolean;
TaxJurisdictionsEnable: Boolean;
TaxAreasEnable: Boolean;
TaxDetailEnable: Boolean;
#pragma warning disable AA0074
Text000: Label 'You must select a company other than the current company.';
Text001: Label 'You must select a company from which to copy.';
Text002: Label 'Nothing was selected to copy.\You must select one or more tables to copy.';
#pragma warning restore AA0074
local procedure CopyTable1OnPush()
begin
CopyMode := CopyMode::Custom;
end;
local procedure CopyTable2OnPush()
begin
CopyMode := CopyMode::Custom;
end;
local procedure CopyTable3OnPush()
begin
CopyMode := CopyMode::Custom;
end;
local procedure CopyTable4OnPush()
begin
CopyMode := CopyMode::Custom;
end;
local procedure AllCopyModeOnPush()
begin
for i := 1 to ArrayLen(CopyTable) do
CopyTable[i] := true;
end;
local procedure CustomCopyModeOnPush()
begin
TaxGroupsEnable := true;
TaxJurisdictionsEnable := true;
TaxAreasEnable := true;
TaxDetailEnable := true;
end;
local procedure OKOnPush()
begin
if SourceCompany.Name = '' then
Error(Text001);
if not CopyTable[1] and not CopyTable[2] and not CopyTable[3] and not CopyTable[4] then
Error(Text002);
CopyTaxSetup.CopyTaxInfo(SourceCompany, CopyTable);
end;
local procedure AllCopyModeOnValidate()
begin
AllCopyModeOnPush();
end;
local procedure CustomCopyModeOnValidate()
begin
CustomCopyModeOnPush();
end;
}